您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

升级到jsf2后出现ViewExpiredException

升级到jsf2后出现ViewExpiredException

除了会话到期以外,还有哪些其他情况可能导致ViewExpiredException?

最终用户在会话中请求/创建了太多视图,并且正在提交旧视图。每个会话的认最大观看次数为15。换句话说,如果最终用户在同一会话中具有表单的页面上打开16个浏览器窗口/选项卡并提交给第一个,则用户可以获取ViewExpiredException

每个会话的最大观看次数web.xml通过以下方式配置

<context-param>
    <param-name>com.sun.faces.numberOfViewsInSession</param-name>
    <param-value>15</param-value>
</context-param>

有关其他参数,另请参见Mojarra常见问题解答

有没有一种方法可以引入额外的日志记录来找出在每种情况下都会触发此异常的非常特殊的情况?

不是通过JSF和/或ViewExpiredException。整个异常仅表示该视图不再存在于会话中。这反过来可能确实有更多的潜在原因。使用a记录会话的创建和销毁,HttpSessionListener以及记录会话属性修改byHttpSessionAttributeListener可能会有所帮助。

,在包含表单的缓存页面上按浏览器后退按钮,然后再提交表单,这实际上也可能导致ViewExpiredException视图过期。这可以通过以下两种方法解决,最好是将它们结合使用:

其他 2022/1/1 18:16:50 有652人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶