簡體   English   中英

使用延遲加載面板時檢票口無限重新加載頁面

[英]Wicket infinite reloading page while using Lazy Loading panels

我有 Wicket Page,它只在構造函數中創建 ListView。 這些列表視圖項只是頁面上存在的組件。

為了加載這些組件,我使用第三方庫中的 AsynchronousUpdatePanel: https://gist.github.com/jonnywray/594468

我想使用異步面板,因為有些組件加載 300 毫秒,但有些 10 秒。

問題是,有時當我想刷新頁面時,會開始一些無限循環,並且頁面會一遍又一遍地重新加載 顯示惰性指示器,並在幾毫秒頁面后再次刷新它們。 用戶必須關閉此瀏覽器選項卡並重新開始。

當無限循環開始時, StalePageException一次又一次地被拋出,從而開始頁面重新加載。 然后,應用程序控制台充滿了這些:

WARN RequestCycleExtra - ********************************
WARN RequestCycleExtra - Handling the following exception
org.apache.wicket.core.request.mapper.StalePageException: A request to page '[Page class = *.*Page, id = 1, render count = 2]' has been made with stale 'renderCount'. The page will be re-rendered.
WARN RequestCycleExtra - ********************************

我找不到,我做錯了什么。 正在加載的組件具有模型,該模型通過 AsynchronousUpdatePanel 在后台加載到 Callable 線程中,然后調用 onPostSuccess 方法,在此方法中,我用我的面板(組件)替換惰性指示器,該面板現在已加載 model。

謝謝你的任何回答。

您應該創建一個快速入門並在 Wicket 郵件列表上尋求幫助。 如果不調試,很難找到問題的原因。

請注意,AsynchronousUpdatePanel/FutureUpdateBehavior 似乎違反了一些 Wicket 原則(例如,瞬態不可序列化的“未來”字段)。

此外,由於 Wicket 8 AjaxLazyLoadPanel 支持並行異步延遲加載,也許您想嘗試一下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM