Session 如果我丢失了JSF会话范围,我想更改到登录页面
我使用了JSF2.2Mojarra和会话范围 一段时间后,会话作用域为delete或其他内容。如果我返回到登录页面并再次登录,我会有一个新的会话范围,并且一切都会恢复正常 如果我在web应用程序上工作,会话范围就不会丢失,而且我没有问题。因此,我认为如果我不使用web应用程序,它一定会在一段时间后丢失Session 如果我丢失了JSF会话范围,我想更改到登录页面,session,jsf-2,Session,Jsf 2,我使用了JSF2.2Mojarra和会话范围 一段时间后,会话作用域为delete或其他内容。如果我返回到登录页面并再次登录,我会有一个新的会话范围,并且一切都会恢复正常 如果我在web应用程序上工作,会话范围就不会丢失,而且我没有问题。因此,我认为如果我不使用web应用程序,它一定会在一段时间后丢失 如果我丢失了会话作用域,您知道如何自动返回登录页面吗?要想第一次看到它,您的状态保存方法应该设置为服务器,如下所示 <context-param> <par
如果我丢失了会话作用域,您知道如何自动返回登录页面吗?要想第一次看到它,您的状态保存方法应该设置为服务器,如下所示
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
请查看此问题以正确实施空闲监视器如果您使用的是icefaces,请访问以下链接
你也可以使用omnifaces FullAjaxExceptionHandler,请用谷歌搜索
希望这有帮助 您可以在web.xml+中设置与会话超时相关的值。您可以使用筛选器在会话超时后自动重定向到登录页面。谢谢。你有一个示例代码吗?或者链接到一个例子?我的过滤器比你需要的更复杂。在ViewExpiredException之后尝试安装重定向。也许够了,谢谢。我认为理想的监测仪对我的问题有好处。我在我的页面中编辑这个,然后得到idleDialog。如果我点击这个对话框,我看起来好像它能工作。但我不会改到登录页面。我测试了这个问题,并给出了反馈,如果它的工作
<session-config>
<session-timeout>20</session-timeout>
</session-config>
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>your login page path</location>
<error-page>
<application>
<el-resolver> org.primefaces.application.exceptionhandler.PrimeExceptionHandlerELResolver</el-resolver>
</application>
<factory>
<exception-handler-factory>org.primefaces.application.exceptionhandler.PrimeExceptionHandlerFactory</exception-handler-factory>
</factory>
<p:idleMonitor timeout="6000" onidle="idleDialog.show()" />