在JSF和Richfaces中处理过期的ViewState

Kyl*_*oon 6 java jsf richfaces viewexpiredexception

我有一系列相互建立的注册页面.当用户会话到期时,我有一个监听器,可以清理服务器上的所有内容并且运行良好.但是,如果用户尝试做任何其他事情,我只想将它们重定向回系列的第一页.但是,我的过滤器似乎无法正常工作.我一直得到javax.faces.application.ViewExpiredException

处理此次泄露的最佳做法是什么?我不能真正处理web.xml,因为它太全局了.另外,Error页面是从一些JSF代码呈现的 - 似乎我需要捕获这是发生在使用PhaseListener,所以异常不会发生在第一位,但我找不到一个好的模型如何做到这一点.有任何想法吗?

Jef*_*Jak 1

我认为你是带有相位监听器的正确曲目。本质上是在第一页的会话中设置一些东西。然后在阶段侦听器中查找会话中的值。如果它不退出,则进行重定向。诀窍是在阶段侦听器过程的早期进行此操作。不确定您的阶段侦听器在进程中的具体位置抛出异常。