我希望应用程序显示一个弹出窗口,以便在他回来使用会话超时的应用程序时通知非活动用户,并单击确定以重定向他再次登录。
第一个问题我无法检测到会话超时。
第二个问题即使我检测到会话超时我怎么能显示弹出窗口?
我尝试用侦听器检测会话超时但没有工作
<f:event listener="#{logincontroller.checksessiontimeout}" type="preValidate"/>
我正在使用primefaces和glassfish。
答案 0 :(得分:0)
您选择的方法的问题是会话已超时,但您已经明白了。 )
解决方案可能是使用ExceptionHandler。
如果你真的想要显示一个弹出窗口,你可以重定向到同一页面,传递一些预定义的参数,根据你的弹出窗口呈现。作为替代方案,您可以立即考虑重定向到登录页面,并在那里显示有关会话到期的通知。第二种方式对我来说看起来更自然,但这是我个人的观点。
您可以在BalusC blog post中找到有关如何执行此操作的信息 您也可以在stackoverflow here上找到一些关于其他类似问题的讨论。那些仍然会指向你之前提到的博客文章