关闭时wicket模式窗口错误

关闭时wicket模式窗口错误,wicket,modal-window,confirm-dialog,Wicket,Modal Window,Confirm Dialog,有时关闭ModalWindow时,会弹出消息“您想离开还是留下…”。 我无法确定原因。例如,我关闭了window10x(仍然以同样的方式),其中一些尝试以失败告终。 这是可以的,但是父页面被重新构造,所有数据都丢失了,这不是用户友好的 我的项目规范: 边门:6.21.0 爪哇:8 弹簧:4.1.1.释放 和其他(我希望不是相关的依赖项) 迄今为止我所做、尝试或探索的内容: 当模式窗口关闭且出现错误时,将再次构造父页面 发生错误时,不会调用关闭回调 modalWindow.showUnloa

有时关闭ModalWindow时,会弹出消息“您想离开还是留下…”。 我无法确定原因。例如,我关闭了window10x(仍然以同样的方式),其中一些尝试以失败告终。 这是可以的,但是父页面被重新构造,所有数据都丢失了,这不是用户友好的

我的项目规范:

  • 边门:6.21.0
  • 爪哇:8
  • 弹簧:4.1.1.释放
  • 和其他(我希望不是相关的依赖项)
迄今为止我所做、尝试或探索的内容:

  • 当模式窗口关闭且出现错误时,将再次构造父页面
  • 发生错误时,不会调用关闭回调
  • modalWindow.showUnloadConfirmation(false)-不工作。确认窗口不显示,但当窗口关闭时,父页面将重新加载,数据将消失
  • 将wicket更新到最新的6.24版本或Spring 4.1.6没有帮助
  • 降级到wicket 6.1.9没有帮助
  • 升级到wicket 7.4没有帮助
  • 当出现错误NOT时,例如,ModalWindow页面由http 8443 exec 5线程生成,回调同一线程捕获
  • 当出现错误时,例如,ModalWindow页面由http 8443 exec5线程生成,但当出现错误时,例如,新的父页面由http 8443 exec9线程创建
  • 在调用window.close()清除和分离所有数据提供程序之前,添加close按钮也没有帮助
  • 当模式窗口失败时,javascript中的window.close()方法是最后调用的方法。之后不调用任何代码。之后可能会重定向到父页面(这就是为什么要退出此页面确认对话框)
  • 所有这些都可以通过创建新的Java类来测试,该类扩展了ModalWindow并重写了受保护的方法String GetCloseJavaScript(),该方法以字符串的形式返回关闭JavaScript代码
解决方案


问题是,当父页面加载数据时,页面大小太大,无法存储到Wicket页面缓存内存中。因此,当模式窗口关闭时,保存的父页面应该加载,但从未保存,因此生成了新的。Wicket页面缓存内存的大小,可以在WicketApplication类中设置。更多信息请参见页面缓存部分。

这是可配置的:使用ModalWindow#showUnloadConfirmation(布尔值)控制它。

我已经尝试过,请参见第三个项目符号。信息信息并不那么重要。我更关心的是再次创建父页面,然后问题就出现在您的应用程序代码中。很难猜出它到底是什么。