在Wicket中关闭WebPage时调用的方法?

时间:2014-02-17 20:55:09

标签: java wicket

我试图了解在Wicket中关闭页面时会发生什么。我希望能够检查用户是否正在运行长批量加载,他们无法打开另一个应用程序实例来运行另一个批处理作业。我打算在会话中设置一个布尔值,然后在用户关闭页面时更改它。我正在做一些狩猎,没有任何东西弹出。我想要覆盖的唯一方法是:

onDetach()和onRemove(),但这些似乎都不起作用。

protected void onDetach()
{
   System.out.println("called inside onDetach()");  
   super.onDetach();
}

似乎工作,除了这个方法似乎也在页面渲染上被调用了两次

1 个答案:

答案 0 :(得分:2)

每次Wicket决定删除/完成任何Component,RequestCycle,Session时,都会调用所有 detach()方法。在大多数情况下,这意味着渲染已完成,并且准备好响应以发送回浏览器。分离的主要思想是分离任何不需要记忆的东西。

没有关于仅仅调用一次分离的定义。可以根据需要多次调用它。