我想知道,session.remove("userBean")在用户关闭JSF 1.2上的窗口(点击浏览器的'X')后,我将如何在JSF中执行此操作.
我想在用户点击浏览器的'X'之后弹出一个确认弹出,但不太确定我如何访问或将Ok按钮绑定到我定义的方法,在那里我有清除范围bean的逻辑.或者有更好的方法吗?
任何帮助将受到高度赞赏.
谢谢.
我想知道,在用户关闭JSF 1.2上的窗口(点击浏览器的'X')之后,我将如何在JSF中执行session.remove("userBean").
你不必担心它.如果会话超时,那么肯定会删除bean.如有必要,可以控制会话超时时间<session-config>的web.xml.如果你真的想挂钩会话超时/销毁,那么你可以实现HttpSessionListener和拦截sessionDestroyed(),或者UserBean实现HttpSessionBindingListener和拦截valueUnbound().
如果你真的坚持要听浏览器关闭按钮,毕竟这是非常多的工作,那么你所能做的就是使用Javascript的beforeunload事件.没有别的办法.您应该记住,这是一个不标准的事件,因此并非所有Web浏览器都支持这一事件.例如,Opera不支持此事件.简化这项工作是一项非常重要的工作,因为当您进行简单的香草导航或表单提交时,此事件也会被触发,您需要在每个"普通"链接/按钮上禁止此事件.您还需要触发Ajaxical请求以通知服务器有关关闭的信息,因为您无法更改页面位置或提交隐藏的表单,因为浏览器将被关闭.
| 归档时间: |
|
| 查看次数: |
14759 次 |
| 最近记录: |