Wicket - 陈旧页面异常 - 如何调试?

Rob*_*roj 4 java wicket wicket-6

我的应用程序似乎工作正常,但在控制台中它抛出了很多StalePageExceptions。我不知道为什么。如何调试此异常的原因?此异常的公共原因是什么?

13:32:29,361 WARN  [RequestCycleExtra] (default task-60) ********************************
13:32:29,362 WARN  [RequestCycleExtra] (default task-60) Handling the following exception: org.apache.wicket.core.request.mapper.StalePageException

13:32:29,363 WARN  [RequestCycleExtra] (default task-60) ********************************
13:32:35,626 WARN  [RequestCycleExtra] (default task-64) ********************************
13:32:35,627 WARN  [RequestCycleExtra] (default task-64) Handling the following exception: org.apache.wicket.core.request.mapper.StalePageException
Run Code Online (Sandbox Code Playgroud)

我使用最新的 Wicket 版本 - 6.18,但我永远拥有这个。

编辑:

语句GokListPanel.java

  columns.add(new StatementLinkColumn(Model.of("")) {
     @Override
     public void onClick(IModel<StatementGokCommunity> model, AjaxRequestTarget target) {
        ComponentMode componentMode = ComponentMode.EDIT;
        MarkupContainer mc = StatementGokListPanel.this.getParent();
        GokCommunityStatementPanel panel = new GokCommunityStatementPanel("panel", model.getObject(), componentMode, true);
        StatementGokListPanel.this.replaceWith(panel);
        target.add(mc);
     }
  });
Run Code Online (Sandbox Code Playgroud)

mar*_*n-g 5

如果您尝试使用已在另一个浏览器选项卡/窗口中呈现的页面实例,则会引发异常。由于 Wicket 无法知道您是否更改了另一个选项卡中的页面结构,因此它只会抑制操作(例如链接单击、表单提交等)并使用来自服务器的最新状态重新呈现页面实例。

如果您使用浏览器的“查看(页面)源”功能,也可能发生异常。

  • 请参见页面#renderCount。添加一个断点,看看它为什么在不希望增加的情况下增加。 (3认同)