在jsf中,当会话超时且用户处于非活动状态时,如何显示弹出窗口?

在jsf中,当会话超时且用户处于非活动状态时,如何显示弹出窗口?,jsf,session,primefaces,glassfish,Jsf,Session,Primefaces,Glassfish,我希望应用程序显示一个弹出窗口,当非活动用户返回使用该应用程序时,通知他会话超时,并单击“确定”重定向他再次登录 第一个问题是我无法检测到会话超时 第二个问题,即使我检测到会话超时,我如何显示弹出窗口 我试图用侦听器检测会话超时,但没有成功 <f:event listener="#{logincontroller.checksessiontimeout}" type="preValidate"/> 我正在使用primefaces和glassfish。您选择的方法的问题是会

我希望应用程序显示一个弹出窗口,当非活动用户返回使用该应用程序时,通知他会话超时,并单击“确定”重定向他再次登录

第一个问题是我无法检测到会话超时

第二个问题,即使我检测到会话超时,我如何显示弹出窗口

我试图用侦听器检测会话超时,但没有成功

   <f:event listener="#{logincontroller.checksessiontimeout}" type="preValidate"/>


我正在使用primefaces和glassfish。

您选择的方法的问题是会话超时,但您已经解决了。)

解决方案可以是使用ExceptionHandler

如果你真的想显示一个弹出窗口,你可以重定向到同一个页面,传递一些预定义的参数,根据这些参数你的弹出窗口将被呈现。作为替代,您可以考虑重新定位到登录页面,并在那里显示关于会话过期的通知。第二种方式在我看来更自然,但这是我个人的观点

您可以在中找到有关如何执行此操作的信息 此外,您还可以找到有关stackoverflow的一些讨论,并参考其他类似问题。这些仍然会指向我前面提到的博客帖子