Wicket 6中的多个选项卡和页面过期

Wicket 6中的多个选项卡和页面过期,wicket,Wicket,这个问题似乎已经被问过了,但给出的唯一答案完全没有帮助。参考: 多年来,我们一直在内部成功运行Wicket 1.4应用程序。由于需要推进编译器目标以及其他原因,最终有必要迁移到v6。在此过程中,多窗口支持似乎已被完全弃用。以前,它在应用程序中与setAutomaticMultiWindowsSupport(true)完美配合,但wicket开发人员出于某种原因决定删除此支持 问题是,如果一个浏览器有两个页面,第X页和第Y页,在同一浏览器的不同选项卡中打开(因此也是同一个用户会话),每个页面上都有

这个问题似乎已经被问过了,但给出的唯一答案完全没有帮助。参考:

多年来,我们一直在内部成功运行Wicket 1.4应用程序。由于需要推进编译器目标以及其他原因,最终有必要迁移到v6。在此过程中,多窗口支持似乎已被完全弃用。以前,它在应用程序中与setAutomaticMultiWindowsSupport(true)完美配合,但wicket开发人员出于某种原因决定删除此支持

问题是,如果一个浏览器有两个页面,第X页和第Y页,在同一浏览器的不同选项卡中打开(因此也是同一个用户会话),每个页面上都有一个表单组件(我们称之为FormX和FormY),用户首先提交FormX(添加到第X页,版本6),然后提交FormY(添加到第Y页,版本7),表单Y提交导致页面过期错误

尽管有上面提到的答案,但即使将inmemoryCacheSize和maxSizePerSession都增加到惊人的水平,这种行为仍然存在

Wicket 6似乎也会偶尔在后退按钮的使用上触发页面过期错误,但是这个问题对我们的用户来说并不像多窗口支持那样有问题

问题是,删除setAutomaticMultiWindowsSupport()后,是否有任何规范的解决方法可以使此功能重新工作?谢谢

编辑:


我还想指出,这不是Wicket 6在迁移后给我们带来的唯一问题;这只是最容易复制的。当用户在某些页面上按下后退按钮时,我们也会遇到页面过期错误。这几乎就像Wicket 6在会话中只维护一个页面,一旦呈现另一个页面,就会清除上一个页面。目不转睛地看不清楚Wicket是否提供了获取当前会话或页面存储状态的任何方法,因此这种清除是否真的发生纯粹是假设。

Wicket 6仍然支持多个浏览器窗口。
请创建一个显示问题的快速启动,并将其附加到Jira问题。

我们使用Wicket 6.19也遇到了同样的问题。有人找到解决办法了吗

我们的应用程序是用来打电话给客户通过电话下订单的,所以有时在处理第一个电话时会有第二个电话,所以浏览器上会打开两个选项卡

我们有一个特定的错误,我们在一个选项卡上打开一个ModalWindow,但在另一个选项卡上却没有。该窗口具有启用ajax的复选框和OK/Cancel按钮,它们也是Ajaxified的。单击这些控件一段时间可以工作,但几乎是随机的,它将失败并出现“Behavior rejected interface invocation”错误。在此之后单击对话框中的任何内容都会重复该错误

两个页面实例的控件似乎混合在一起,并且由于窗口未显示在一个页面上(因此控件未启用或不可见),这最终导致引发异常

重写canCallListenerInterface以返回true既麻烦又掩盖了真正的问题——有人用更好的方法解决了这个问题吗