Hi,
I'm really new to wicket and I'm trying to learn about with wicket in
action.
Now the problem: I've initialized a project trought maven quikstart version:
1.5rc1.
A first test with the jetty engine work as aspected.
the session is implemented with the following class:
public class CheesrSession extends WebSession {
private Cart cart = new Cart();
public CheesrSession(Request request) {
super(request);
}
public Cart getCart(){
return cart;
}
}
and with the getHomePage method in the extended WebApplication:
public Class getHomePage() {
return Index.class;
}
I call the index page:
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.model.PropertyModel;
/**
*
* @author saverioscavelli
*/
public class Index extends CheesrPage {
//private static final long serialVersionUID = 1L;
public Index() {
add(new ListView("cheeses", getCheeses()) {
@Override
protected void populateItem(ListItem item) {
//throw new UnsupportedOperationException("Not supported
yet.");
Cheese cheese = (Cheese) item.getModelObject();
item.add(new Label("name", cheese.getName()));
item.add(new Label("description", cheese.getDesciption()));
item.add(new Label("price", "$" + cheese.getPrice()));
item.add(new Link("add", item.getModel()) {
@Override
public void onClick() {
//throw new UnsupportedOperationException("Not
supported yet.");
Cheese selected = (Cheese) getModelObject();
getCart().getCheeses().add(selected);
}
});
}
});
add(new ListView("cart", new PropertyModel(this, "cart.cheeses")) {
@Override
protected void populateItem(ListItem item) {
//throw new UnsupportedOperationException("Not supported
yet.");
Cheese cheese = (Cheese) item.getModelObject();
item.add(new Label("name", cheese.getName()));
item.add(new Label("price", "$"+ cheese.getPrice()));
item.add(new Link("remove", item.getModel()) {
@Override
public void onClick() {
//throw new UnsupportedOperationException("Not
supported yet.");
Cheese selected = (Cheese) getModelObject();
getCart().getCheeses().remove(selected);
}
});
}
});
add(new Label("total", "$"+ getCart().getTotal()));
}
}
the index page extends the CheesrPage:
import java.util.List;
import org.apache.wicket.markup.html.WebPage;
/**
*
* @author saverioscavelli
*/
public abstract class CheesrPage extends WebPage {
public CheesrSession getCheesrSession(){
return (CheesrSession) getSession();
}
public Cart getCart(){
return getCheesrSession().getCart();
}
public List<Cheese> getCheeses(){
return WicketApplication.get().getCheeses();
}
}
unfortunately I recive an Error that I dont really anderstand:
Unexpected RuntimeException
WicketMessage: Can't instantiate page using constructor public
babilo.cheeser.cheesr.Index()
Stacktrace
Root cause:
java.lang.ClassCastException: org.apache.wicket.protocol.http.WebSession
cannot be cast to babilo.cheeser.cheesr.CheesrSession
at
babilo.cheeser.cheesr.CheesrPage.getCheesrSession(CheesrPage.java:31)
at babilo.cheeser.cheesr.CheesrPage.getCart(CheesrPage.java:35)
at babilo.cheeser.cheesr.Index.<init>(Index.java:81)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:155)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:59)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:43)
at
org.apache.wicket.Application$2.newPageInstance(Application.java:1157)
at
org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:259)
at
org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:160)
at
org.apache.wicket.request.handler.render.WebPageRenderer.getPage(WebPageRenderer.java:59)
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:212)
at
org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:149)
at
org.apache.wicket.request.RequestHandlerStack.executeRequestHandler(RequestHandlerStack.java:84)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:206)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:248)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:131)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:184)
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:191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
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:298)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:680)
Complete stack:
org.apache.wicket.WicketRuntimeException: Can't instantiate page using
constructor public babilo.cheeser.cheesr.Index()
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:173)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:59)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:43)
at
org.apache.wicket.Application$2.newPageInstance(Application.java:1157)
at
org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:259)
at
org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:160)
at
org.apache.wicket.request.handler.render.WebPageRenderer.getPage(WebPageRenderer.java:59)
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:212)
at
org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:149)
at
org.apache.wicket.request.RequestHandlerStack.executeRequestHandler(RequestHandlerStack.java:84)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:206)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:248)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:131)
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:155)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:59)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:43)
at
org.apache.wicket.Application$2.newPageInstance(Application.java:1157)
at
org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:259)
at
org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:160)
at
org.apache.wicket.request.handler.render.WebPageRenderer.getPage(WebPageRenderer.java:59)
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:212)
at
org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:149)
at
org.apache.wicket.request.RequestHandlerStack.executeRequestHandler(RequestHandlerStack.java:84)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:206)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:248)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:131)
Please Help
--
View this message in context:
http://apache-wicket.1842946.n4.nabble.com/wicket-in-action-session-Problems-tp3312697p3312697.html
Sent from the Users forum mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]