首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSF中的ViewExpiredException

JSF中的ViewExpiredException
EN

Stack Overflow用户
提问于 2010-07-21 12:26:52
回答 4查看 3.4K关注 0票数 0

我正在使用JSF,并且在web.xml中有javax.faces.STATE_SAVING_METHOD到客户端。我想要发生的是,当会话超时并且我尝试重定向到另一个页面时,它必须重定向到sessionTimeout.jsf,并且在单击该页面上的按钮时,它必须重定向到login.jsf。我设计了sessionTimeout.jsf。每当会话到期,并且我试图导航到不同的页面时,就会抛出javax.faces.application.ViewExpiredException。我在目标页面中设置了一个会话变量,这样每次它转到该页面时,它都会首先检查该变量,但在这里,它在转到该页面之前抛出异常。如何解决这个问题?

EN

回答 4

Stack Overflow用户

发布于 2010-07-21 12:36:25

票数 1
EN

Stack Overflow用户

发布于 2016-01-12 04:21:28

“每当会话到期时,当我试图导航到不同的页面时,就会抛出javax.faces.application.ViewExpiredException。”

您应该使错误页和登录页等页面成为临时页面,以便在离开会话中的页面时使会话无效。感谢BalusC在这方面的文章:

http://balusc.omnifaces.org/2013/02/stateless-jsf.html

这将确保在操作方法中使会话无效并重定向到不受会话授权过滤器保护的视图时,会话范围内的bean不会立即重新初始化。

票数 1
EN

Stack Overflow用户

发布于 2010-07-21 16:57:57

解决方案是添加:

代码语言:javascript
复制
<a4j:region>
 <script language="javascript">
 A4J.AJAX.onExpired = function(loc, expiredMsg){
  window.location = "/sessionTimeOut.jsf";
 }
 </script>
</a4j:region>

阅读更多in RichFaces guide

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3296313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档