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

时间:2014-03-22 15:19:37

标签: jsf session primefaces glassfish

我希望应用程序显示一个弹出窗口,以便在他回来使用会话超时的应用程序时通知非活动用户,并单击确定以重定向他再次登录。

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

第二个问题即使我检测到会话超时我怎么能显示弹出窗口?

我尝试用侦听器检测会话超时但没有工作

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

我正在使用primefaces和glassfish。

1 个答案:

答案 0 :(得分:0)

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

解决方案可能是使用ExceptionHandler。

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

您可以在BalusC blog post中找到有关如何执行此操作的信息 您也可以在stackoverflow here上找到一些关于其他类似问题的讨论。那些仍然会指向你之前提到的博客文章