我正在使用 Apache Wicket 6.10,但我遇到了 Apache Wicket 的转换异常问题。
我的自定义 session 对象扩展了 WebSession 类,并且我在 WicketApplication(扩展 WebApplication)::newSession 中返回 SCSSession 的新实例。
异常(exception)情况是:
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)
我在调试中发现新的 session 是从 org.apache.wicket.Application 类创建的。
目前,我有点傻,为什么 WicketApplication(由 WebAplication 扩展,也由 Application 扩展)使用 Application::newSession 而不是我的 WicketApplication?
session 调用来自嵌入式面板。这与 session 初始化的问题有什么关系吗?
最佳答案
DefaultPageFactory#createPage() 来自 Wicket 1.4.x。您应该检查您的类路径。
关于java - 自定义 session 并且不点击 Application::newSession,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19015452/