Java Wicket页面销毁事件
我有一个常规的wicket页面,当我们离开该页面或者页面被破坏时,我需要捕获和处理事件,这两种方法都可以 我已经尝试过覆盖所有可感知的发声方法,但没有一种被触发 有没有一个简单的方法可以做到这一点?将页面注册到某个侦听器也可以Java Wicket页面销毁事件,java,apache,servlets,wicket,Java,Apache,Servlets,Wicket,我有一个常规的wicket页面,当我们离开该页面或者页面被破坏时,我需要捕获和处理事件,这两种方法都可以 我已经尝试过覆盖所有可感知的发声方法,但没有一种被触发 有没有一个简单的方法可以做到这一点?将页面注册到某个侦听器也可以 多谢各位 我想我会在这里发布解决方案,这样我们也会有一个 private class ProcessAfterCloseBehavior extends AbstractDefaultAjaxBehavior { @Override pub
多谢各位 我想我会在这里发布解决方案,这样我们也会有一个
private class ProcessAfterCloseBehavior extends AbstractDefaultAjaxBehavior {
@Override
public void renderHead(Component component, IHeaderResponse response) {
super.renderHead(component, response);
response.render(new OnDomReadyHeaderItem("window.onbeforeunload = function (e) {"
+ getCallbackScript() + "};"));
}
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
attributes.setAsynchronous(false);
}
@Override
protected void respond(AjaxRequestTarget target) {
//Do whatever you need to do.
}
}
你说的毁灭是什么意思?在请求之后,页面被提供给用户,然后被缓存和序列化。你想怎么处理这个页面?我承认,销毁可能是个愚蠢的词。比方说,当我们离开页面或打开任何其他页面时,我想捕捉一个事件。关键是,一旦我们离开页面,我需要运行一些服务器端代码。我欢迎任何解决方案。这是一个棘手的问题,有一些关于它的讨论,也许它可以帮助你。我相信当用户试图导航离开时,尝试检测有太多的警告。例如,用户在新页面中打开链接或用户失去连接等。如果可以的话,我强烈建议您尝试寻找另一种解决方案来倾听用户离开的声音。