【问题标题】:Multiple Tabs and Page Expiration in Wicket 6Wicket 6 中的多个选项卡和页面过期
【发布时间】:2014-02-06 20:28:41
【问题描述】:

这个问题似乎已经被问过,但给出的唯一答案完全没有帮助。参考:support for Multi Window wicket 6.x

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

问题是,如果一个页面有两个页面,页面 X 和页面 Y,在同一个浏览器的不同选项卡中打开(因此是相同的用户会话),每个页面上都有一个 Form 组件(我们称它们为 FormX 和FormY ),并且用户先提交 FormX(添加到 Page X,版本 6),然后是 FormY(添加到 Page Y,版本 7),form Y 提交导致 Page Expired 错误。

尽管上面引用了答案,但即使将 inmemoryCacheSize 和 maxSizePerSession 都增加到了令人发指的水平,这种行为仍然存在。

Wicket 6 似乎在使用后退按钮时偶尔会触发 Page Expired 错误,但这个问题对我们的用户来说并不像多窗口支持那样成问题。

问题是,在移除 setAutomaticMultiWindowSupport() 后,是否有任何规范的解决方法可以让此功能再次运行?谢谢。

编辑:

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

【问题讨论】:

    标签: wicket


    【解决方案1】:

    Wicket 6 仍然支持多个浏览器窗口。 请创建一个快速入门来显示问题并将其附加到 Jira 问题中。

    【讨论】:

      【解决方案2】:

      我们在使用 Wicket 6.19 时也遇到了同样的问题。有没有人找到解决这个问题的方法?

      我们的应用程序是用于通过电话呼叫客户下订单,因此有时在处理第一个电话时会打入第二个电话,因此会在浏览器上打开两个选项卡。

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

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

      重写 canCallListenerInterface 以返回 true 既麻烦又掩盖了真正的问题 - 有没有人以更好的方式解决了这个问题?

      【讨论】:

        猜你喜欢
        • 2010-11-12
        • 1970-01-01
        • 2017-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多