如何在页面过期时更改Wicket行为

时间:2012-02-22 11:27:50

标签: wicket

我们的主网站有一个检票口应用程序。最近我们实施了该网站的移动版本。移动版本的特殊之处在于它部署在一些移动设备的本机应用程序包装内,而不是通过链接连接到页面的其余部分,因为它不应该通常对Web用户可见。

移动页面使用ajax,因此在我们重新启动服务器上的应用程序时容易收到“Page expired”错误。

由于该页面未通过链接连接到应用程序的其余部分,因此我不希望我们的标准“页面已过期”行为。是否可以覆盖或拦截属于站点移动部分的页面的此行为?例如,我希望能够将页面配置为仅在“页面过期”错误时重新加载。

1 个答案:

答案 0 :(得分:5)

是,

getApplicationSettings().setPageExpiredErrorPage(YourPage.class)
然后,

YourPage.class可以是您的主页或其他页面,取决于它是来自移动设备的请求做其他事情。

如果你想重新加载用户就是一个页​​面,那么它就变得不那么简单了。由于您不在页面上,因此无法重新加载页面。您可以查看IRequestCycleListener并覆盖onException并自己处理PageExpiredException,但如果您只是重新加载页面,那么这是一条危险的道路。导航到主页(或其他)页面似乎更合乎逻辑。我假设您没有每天重启服务器100次......