Morning all guys,
I am looking for this error on Google, but till now without success, for the
reason of why this error occurs..
Can anyone help me?
Thanks in advance.
==============================================================================================
Stacktrace
==============================================================================================
11:23:45,500 ERROR RequestCycle:1450 - Can't instantiate page using
constructor public com.jasp.ecommfwk.categoria.PageCategoria()
org.apache.wicket.WicketRuntimeException: Can't instantiate page using
constructor public com.jasp.ecommfwk.categoria.PageCategoria()
at org.apache.wicket.session.DefaultPageFactory.newPage
(DefaultPageFactory.java:172)
at org.apache.wicket.session.DefaultPageFactory.newPage
(DefaultPageFactory.java:58)
at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage
(BookmarkablePageRequestTarget.java:286)
at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage
(BookmarkablePageRequestTarget.java:308)
at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents
(BookmarkablePageRequestTarget.java:223)
at
org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents
(AbstractRequestCycleProcessor.java:91)
at org.apache.wicket.RequestCycle.processEventsAndRespond
(RequestCycle.java:1188)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1265)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1366)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:498)
at org.apache.wicket.protocol.http.WicketFilter.doGet
(WicketFilter.java:444)
at org.apache.wicket.protocol.http.WicketFilter.doFilter
(WicketFilter.java:282)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:584)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance
(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.apache.wicket.session.DefaultPageFactory.newPage
(DefaultPageFactory.java:153)
... 23 more
Caused by: java.lang.NoSuchMethodError:
org.apache.wicket.markup.html.form.Form.add(Lorg/apache/wicket/
Component;)Lorg/apache/wicket/MarkupContainer;
at com.jasp.ecommfwk.categoria.PageCategoria.<init>
(PageCategoria.java:36)
... 28 more
11:23:45,515 ERROR RequestCycle:1321 - unexpected exception when
handling another exception: Component [Page class =
org.apache.wicket.markup.html.pages.ExceptionErrorPage, id = 1,
version = 0] does not permit action RENDER
org.apache.wicket.authorization.UnauthorizedActionException: Component
[Page class = org.apache.wicket.markup.html.pages.ExceptionErrorPage,
id = 1, version = 0] does not permit action RENDER
at org.apache.wicket.Page.renderPage(Page.java:868)
at
org.apache.wicket.request.target.component.PageRequestTarget.respond
(PageRequestTarget.java:63)
at org.apache.wicket.request.AbstractRequestCycleProcessor.respond
(AbstractRequestCycleProcessor.java:104)
at org.apache.wicket.RequestCycle.respond(RequestCycle.java:1203)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1270)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1366)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:498)
at org.apache.wicket.protocol.http.WicketFilter.doGet
(WicketFilter.java:444)
at org.apache.wicket.protocol.http.WicketFilter.doFilter
(WicketFilter.java:282)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:584)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
447)
at java.lang.Thread.run(Thread.java:619)
==============================================================================================
Application
==============================================================================================
/**
*
*/
package com.jasp.ecommfwk;
import org.apache.wicket.Application;
import org.apache.wicket.Page;
import org.apache.wicket.Request;
import org.apache.wicket.Response;
import org.apache.wicket.Session;
import org.apache.wicket.guice.GuiceComponentInjector;
import org.apache.wicket.protocol.http.WebApplication;
import com.jasp.ecommfwk.auth.WiaAuthorizationStrategy;
import com.jasp.ecommfwk.categoria.PageCategoria;
import com.jasp.ecommfwk.login.PageLogin;
import com.jasp.ecommfwk.session.ECommBackOfficeSession;
/**
* @author Daniel
*
*/
public class eCommBackOffice extends WebApplication {
/**
*
*/
public eCommBackOffice() {
// TODO Auto-generated constructor stub
}
@Override
protected void init() {
super.init();
//IOC do Guice para Páginas e Componentes
addComponentInstantiationListener(new
GuiceComponentInjector(this));
getSecuritySettings().setAuthorizationStrategy(new
WiaAuthorizationStrategy());
mountBookmarkablePage("login", PageLogin.class);
}
/*
* (non-Javadoc)
*
* @see org.apache.wicket.Application#getHomePage()
*/
@Override
public Class<? extends Page> getHomePage() {
// TODO Auto-generated method stub
return PageCategoria.class;
}
@Override
public Session newSession(Request request, Response response) {
return new ECommBackOfficeSession(request);
}
//Covariance
public static eCommBackOffice get() {
return (eCommBackOffice) Application.get();
}
}
==============================================================================================
Application XML
==============================================================================================
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://
www.w3.org/TR/xmlschema-1/"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>eCommBackOffice</display-name>
<filter>
<filter-name>WicketFilter</filter-name>
<filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-
class>
<init-param>
<param-name>applicationClassName</param-name>
<param-value>com.jasp.ecommfwk.eCommBackOffice</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>WicketFilter</filter-name>
<url-pattern>/app/*</url-pattern>
</filter-mapping>
</web-app>
==============================================================================================
Class Page
==============================================================================================
import java.util.Arrays;
import java.util.List;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.StringResourceModel;
import com.jasp.ecommfwk.util.DropDownOption;
import com.jasp.persistence.util.HibernateUtil;
public class PageCategoria extends WebPage {
public PageCategoria() {
super();
//RESOURCES TO BE LOADED FIRST
StringResourceModel labelCategoria = new StringResourceModel
("categoria.label", this, null, new Object[] { getLocale() });
StringResourceModel labelPai = new StringResourceModel
("categoria.labelPai", this, null, new Object[] { getLocale() });
List<DropDownOption> categorias = Arrays.asList
(CategoriaDecoratorOption.getKeyValuePairs
(HibernateUtil.getSessionFactory().openSession()));
//END OF RESOURCE LOADING
Form categoriaForm = new Form("categoriaForm"){
@Override
protected void onSubmit(){
System.out.println("form was submitted!");
}
};
categoriaForm.add(new TextField("nomeCategoria", new
Model("")));
categoriaForm.add(new DropDownChoice("categoriaPai", new
Model(""),
categorias));
categoriaForm.add(new Label("labelCategoria",
labelCategoria));
categoriaForm.add(new Label("labelCategoriaPai", labelPai));
}
}
==============================================================================================
HTML of the Page
==============================================================================================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:wicket="http://wicket.apache.org/" xml:lang="en" lang="en">
<wicket:extend>
<br />
Start typing in the textfields and see the form being
validated as you type. Ajax requests are throttled down to once per
second, so they will not overload the server.
<br />
<div wicket:id="feedback">[[ feedback ]]</div>
<form wicket:id="categoriaForm">
<table>
<tr>
<td><label wicket:id="labelCategoria">[name
label]</label>:</td>
<td><input wicket:id="nomeCategoria" type="text"
/></td>
</tr>
<tr>
<td><label wicket:id="labelCategoriaPai">[name
label]</label>:</td>
<td><select wicket:id="categoriaPai" size="6" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="submit" /></td>
</tr>
</table>
</form>
<br />
</wicket:extend>
</html>
==============================================================================================
Property File of Page
==============================================================================================
Required=Forneça um valor para ${label}
cadastro.categoriaFilha = A categoria ${label} agora é filha da
categoria atual.
categoria.label=Categoria
categoria.labelPai=Categoria Pai
categoria.sucesso=Foi criada a categoria ${label}