2015-01-12 81 views
4

我的應用似乎能夠正常工作,但在控制檯中它會拋出很多StalePageException s。我不知道爲什麼。我如何調試這個異常的原因?這個例外的常見原因是什麼?Wicket - 陳舊的頁面異常 - 如何調試?

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 

我使用最新的Wicket版本 - 6.18,但我有這個永遠。

編輯:

StatementGokListPanel.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); 
    } 
    }); 

回答

3

如果您嘗試使用已在另一個瀏覽器標籤/窗口被渲染的頁面實例的異常被拋出。由於Wicket無法知道您是否更改了其他選項卡中的頁面結構,因此它只是抑制該操作(例如,鏈接單擊,表單提交等),並使用服務器的最新狀態重新呈現頁面實例。

如果您使用瀏覽器的「查看(頁面)源」功能,也可能發生異常。

+0

我已更新我的問題。我發現了一個可重現的地方。一直我點擊這個鏈接,我得到一個StalePageExcaption。我沒有在任何其他標籤頁/瀏覽器中打開該應用程序。必須有其他原因。 –

+2

請參閱#頁面renderCount。添加一個斷點並查看它在不期望增加時爲何增加。 –

相關問題