0

正如我在本主题中所写,我需要在用户关闭或更改页面时调用一些操作。我以为我可以@PreDestroy在我的视图范围内使用 bean,但它永远不会被调用(即使会话过期)。这是一个错误吗?我使用 Glassfish 3.1.2。

用户离开页面时如何调用bean方法的任何其他建议?javascript是个window.onunload好主意吗?

4

1 回答 1

0

即使 bean 是视图范围的,容器也有责任决定何时收集和销毁未使用的资源。

用于定义范围的注释指示托管 bean 必须存活多长时间,但您无法保证它们何时会被销毁。

正如您所建议的,JavaScript 可以解决您的问题。另请参阅此答案:如何在用户离开页面时检测表单中未保存的数据?

于 2012-10-01T12:30:41.270 回答