繁体   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