我正在使用Apache Wicket 6.10,而且我在使用Apache Wicket时遇到异常问题。
我的自定义会话对象扩展了WebSession类,我在WicketApplication(Extends WebApplication):: newSession中返回了一个新的SCSSession实例。
例外是:
org.apache.wicket.protocol.http.WebSession cannot be cast to SCSSession
at org.apache.wicket.session.DefaultPageFactory.createPage(DefaultPageFactory.java:212)
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:57)
at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:298)
at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:320)
at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:234)
at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1279)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1358)
我在调试中发现的是,正在从org.apache.wicket.Application类创建新的Sessions。
目前,我的创建有点愚蠢,为什么WicketApplication(由WebAplication扩展,也由Application扩展)使用Application :: newSession而不是我的WicketApplication?
会话的呼叫来自嵌入式面板。这与会话初始化中的问题有什么关系吗?
答案 0 :(得分:1)
DefaultPageFactory#createPage()来自Wicket 1.4.x.你应该检查你的类路径。