有没有办法捕获关闭浏览器或被重定向到managedBean的其他页面来执行某些进程?我知道当容器决定杀死managedBean时会调用@PreDestroy。但是,这不是我需要的。我希望在视图更改后立即进行处理。
答案 0 :(得分:1)
使用Richfaces的javascript事件和Ajax4JSF。如果页面卸载,此代码将调用Bean#callBean
方法。有关a4j jsfunction的更多信息,您可以找到here。
<h:body onunload="unload()">
<a4j:jsFunction name="unload" action="#{bean.callBean}">
</a4j:jsFunction>
</h:body>