Java 小门页';的ListView LoadableDetachableModel通过AJAX调用进行修改。第页没有';不要再画了
考虑一个包含子类Java 小门页';的ListView LoadableDetachableModel通过AJAX调用进行修改。第页没有';不要再画了,java,ajax,listview,model,wicket,Java,Ajax,Listview,Model,Wicket,考虑一个包含子类网页的页面。它的构造函数创建 并添加一个WebMarkupContainer,其中包含一个ListView组件 由LoadableDetachableModel支持 该页面还添加了AbstractDefaultAjaxBehavior[每个都覆盖类'renderHead和respond方法]的匿名子类的两个实例 相应的HTML包含一个由wicket:id绑定到WMC的 和一个的绑定到列表视图组件的列表项 第一次页面显示正确 基于用户与客户端的交互,问题中的AbstractDefa
网页
的页面。它的构造函数创建
并添加一个WebMarkupContainer
,其中包含一个ListView
组件
由LoadableDetachableModel
支持
该页面还添加了AbstractDefaultAjaxBehavior
[每个都覆盖类'renderHead
和respond
方法]的匿名子类的两个实例
相应的HTML包含一个由wicket:id
绑定到WMC的
和一个
的
绑定到列表视图
组件的列表项
第一次页面显示正确
基于用户与客户端的交互,问题中的AbstractDefaultAjaxBehavior
设置了模型的模型对象的信息。该信息用于更改特定的列表项
在表中的行中显示为
的方式,特别是选定行的文本应以粗体显示
诊断调试器断点和
AJAX调用确认行为的respond
方法被正确调用,并且模型对象被正确修改
页面永远不会自动重新绘制。手动重新加载页面
从浏览器显示正确的行为。
我对这个问题进行了研究,发现了各种可能的相关问题
我尝试过的解决方案,包括
- 调用
target.add(webMarkupContainer)代码>从行为的
方法,与响应
- 调用
target.appendJavaScript(“window.location.reload();”)代码>来自
响应
方法
- 调用
setResponsePage(此)代码>,
和设置响应页面(Page.class)
设置响应页面(getPage())代码>来自
方法,以及来自页面上重写的respond
方法onBeforeRender
有什么建议吗?AbstractDefaultAjaxBehavior不会自动更新任何组件
Did
target.add(webMarkupContainer)
help?如果没有,您是否调用了webMarkupContainer.setOutputMarkupId(true)
?我以各种组合使用了这两种方法,但均未成功。我按照您的指示重新执行了AbstractDefaultAjaxBehavior,并将有问题的事件作为一个AjaxEventBehavior
重新执行,现在可以正常工作了。谢谢你的提示——我想我错过了这一路上的某个有用的地方。如果有人不介意的话,他们可以给我指出相关的参考信息,其中描述了抽象类的非更新性质。再次感谢。