重新登录时{Wicket PageExpiredException

时间:2015-11-19 09:55:48

标签: exception java-ee login wicket wicket-6

我正在使用wicket 6.15对网络应用进行编码 我有一个问题:
- 登录网站并使用用户A(标签1)登录 - 打开更多标签(标签2)
- 让它像改变服务器时间一样经历会话 - 在标签1中,当做某事时,pageexpiredexception throw会让我再次登录,我用用户A登录(如前所述)

  

org.apache.wicket.protocol.http.PageExpiredException:ID为' 10'的页面已过期。

-in tab 2,什么时候做pageexpiredexception投掷让我去登录。

  

org.apache.wicket.protocol.http.PageExpiredException:ID为' 11'的页面已过期。

我该如何解决这个问题?我希望在标签2中继续无例外,因为它使用相同的用户帐户。

2 个答案:

答案 0 :(得分:2)

创建第二个会话后,没有包含ID' 11'在其中,抛出PageExpiredException。 默认情况下,Wicket将尝试从url中检测页面类并创建它的新实例。如果它无法检测到它,例如网址就像" / wicket / page?11"然后将使用ApplicationSettings#getPageExpiredExceptipPage()

如果您的应用程序中显示了登录页面,那么很可能您有自定义的IRequestCycleListener,它以#onException()方法捕获PEE并重定向到您的登录页面。

答案 1 :(得分:0)

您可以在wicket 7中尝试重定向到WebApplication class

中的登录页面
getApplicationSettings().setPageExpiredErrorPage(LoginPage.class);

登录过期后,它将重定向到您的登录页面。