gpt4 book ai didi

jquery - JSF 中的页面卸载事件处理

转载 作者:行者123 更新时间:2023-12-01 03:49:26 24 4
gpt4 key购买 nike

有什么方法可以处理 JSF 2.0 中的页面 unLoad 事件吗?我想在用户离开特定页面时执行一些数据重置?

最佳答案

没有 100% 可靠的方法来通知服务器端有关 unload 事件的信息。根据浏览器的品牌/版本,要么服务器根本无法被 ajax (XMLHttpRequest) 请求命中,要么如果 ajax 请求能够成功完成,您将遇到竞争条件 (因为 ajax 请求由于选项卡/窗口被关闭而突然中止,因此您面临着服务器永远不会检索完整的 ajax 请求的风险。

最好的选择是在服务器端 Hook 销毁事件。例如。如果是@ViewScoped bean,您只需创建一个用@PreDestroy注释的方法:

@ManagedBean
@ViewScoped
public class Bean {

@PreDestroy
public void destroy() {
// This method is called whenever the view scope has been destroyed.
// That can happen when the user navigates away by a POST which is
// invoked on this bean, or when the associated session has expired.
}

}

或者也许您根本不需要它。您只需将数据存储为 View 作用域 bean 而不是 session 作用域 bean 的属性。滥用 session 作用域 bean 的开发人员经常有这种要求;)另请参阅 How to choose the right bean scope?

关于jquery - JSF 中的页面卸载事件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10270744/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com