关闭

时间:2016-09-19 07:31:53

标签: wicket modal-window confirm-dialog

有时关闭ModalWindow消息"你想离开或留下......"弹出。 我无法确定原因。例如,我关闭窗口10x(仍然以相同的方式),其中一些尝试最终导致此失败。 没关系,但父页面会再次构建,所有数据都会丢失,这不是用户友好的。

我的项目规范:

  • Wicket:6.21.0
  • Java:8
  • Spring:4.1.1.RELEASE
  • 和其他(我希望不相关的依赖)

到目前为止,我已经做过,尝试或探索过:

  • 当关闭模态窗口并发生错误时,将再次构建父页面
  • 发生错误时,不会调用关闭回调
  • modalWindow.showUnloadConfirmation(false) - 不起作用。确认窗口没有显示,但是当窗口关闭时,父页面被重新加载并且数据消失
  • 将wicket更新到最新的6.24版本或Spring 4.1.6没有帮助
  • 降级到检票口6.1.9没有帮助
  • 升级到wicket 7.4没有帮助
  • 发生错误 NOT 时,ModalWindow Page例如由http 8443 exec 5线程生成,而回调 捕获同一线程
  • 发生错误时,ModalWindow Page例如由http 8443 exec 5 线程生成,但失败时,新的父页面由http 8443 exec 9 线程创建示例
  • 在调用window.close()清除和分离所有数据提供者之前,也没有帮助添加关闭按钮
  • 当模态窗口失败时,javascript中的window.close()方法是最后一件事,即调用。之后没有代码被调用。之后可能会重定向到父页面(这就是“你想离开这个页面确认对话框的原因”)。
  • 以上所有内容都可以通过创建新的Java类进行测试,该类扩展ModalWindow并覆盖受保护的方法String getCloseJavacript(),它返回String形式的结束JavaScript代码。

问题是当父页面加载数据时,页面大小很大,要存储到Wicket页面缓存内存中。因此,当关闭模态窗口时,应该加载保存的父页面,但它从未保存过,因此生成了新页面。 Wicket页面缓存内存的大小,可以在WicketApplication类中设置。更多位于页面缓存部分的https://ci.apache.org/projects/wicket/guide/6.x/guide/versioningCaching.html

1 个答案:

答案 0 :(得分:0)

这是可配置的:使用ModalWindow#showUnloadConfirmation(boolean)来控制它。

相关问题