Wicket Page 的 ListView LoadableDetachableModel 通过 AJAX 调用进行了修改。页面不重绘
Wicket Page's ListView LoadableDetachableModel is modified via AJAX call. Page doesn't re-draw
考虑一个子class包含WebPage
的页面。它的构造函数创建
并添加一个 WebMarkupContainer
,其中包含一个 ListView
组件
由 LoadableDetachableModel
.
支持
该页面还添加了两个 AbstractDefaultAjaxBehavior
的匿名子 class 实例 [每个都覆盖 class' renderHead
和 respond
方法] .
相应的 HTML 包含 <div>
由 wicket:id
绑定到 WMC
<table>
<tr>
绑定到 ListView
组件的 ListItems
.
页面第一次显示正确。
基于用户与客户端的交互,所讨论的 AbstractDefaultAjaxBehavior
设置有关模型模型对象的信息。该信息旨在用于更改特定 listitem
在 table 的行中显示为 <td>
的方式——特别是选定行的文本应以粗体显示。
诊断调试器断点和 System.out
两侧的信息
AJAX 调用确认行为的 respond
方法被正确调用并且模型对象被正确修改。
页面永远不会自动重新绘制。 手动重新加载页面
从浏览器演示正确的行为。
我研究了这个问题并发现了多种可能相关的问题
我尝试过的解决方案,包括
从行为的调用 target.add( webMarkupContainer);
respond
方法,结合
从 respond
方法调用 target.appendJavaScript( "window.location.reload();" );
。
从 respond
方法以及重写的 onBeforeRender
方法调用 setResponsePage( this );
、setResponsePage( Page.class );
和 setResponsePage( getPage() );
在页面上。
有什么建议吗?
AbstractDefaultAjaxBehavior 不会自动更新任何组件。
target.add( webMarkupContainer)
有帮助吗?如果没有,你打电话给webMarkupContainer.setOutputMarkupId(true)
了吗?
考虑一个子class包含WebPage
的页面。它的构造函数创建
并添加一个 WebMarkupContainer
,其中包含一个 ListView
组件
由 LoadableDetachableModel
.
该页面还添加了两个 AbstractDefaultAjaxBehavior
的匿名子 class 实例 [每个都覆盖 class' renderHead
和 respond
方法] .
相应的 HTML 包含 <div>
由 wicket:id
绑定到 WMC
<table>
<tr>
绑定到 ListView
组件的 ListItems
.
页面第一次显示正确。
基于用户与客户端的交互,所讨论的 AbstractDefaultAjaxBehavior
设置有关模型模型对象的信息。该信息旨在用于更改特定 listitem
在 table 的行中显示为 <td>
的方式——特别是选定行的文本应以粗体显示。
诊断调试器断点和 System.out
两侧的信息
AJAX 调用确认行为的 respond
方法被正确调用并且模型对象被正确修改。
页面永远不会自动重新绘制。 手动重新加载页面 从浏览器演示正确的行为。
我研究了这个问题并发现了多种可能相关的问题 我尝试过的解决方案,包括
从行为的调用
target.add( webMarkupContainer);
respond
方法,结合从
respond
方法调用target.appendJavaScript( "window.location.reload();" );
。从
respond
方法以及重写的onBeforeRender
方法调用setResponsePage( this );
、setResponsePage( Page.class );
和setResponsePage( getPage() );
在页面上。
有什么建议吗?
AbstractDefaultAjaxBehavior 不会自动更新任何组件。
target.add( webMarkupContainer)
有帮助吗?如果没有,你打电话给webMarkupContainer.setOutputMarkupId(true)
了吗?