在 dataTable 中进行 primeFaces ajax 调用
我将 JSF 2 与 PrimeFaces 2.2 一起使用。我尝试通过数据表中的选择框 onchange 事件进行 ajax 调用。我能够看到 System.outs 打印,但是我看不到 update 属性中给出的组件正在更新。我已在 update 属性中给出了 dataTableId。
我想现在的问题是选择框再次被填充并且进行了 ajax 调用。我们是否应该在 update 属性中只提供父标签,以使 ajax 调用正常工作。请帮我解决这个问题。
I am using JSF 2 with PrimeFaces 2.2. I tried making an ajax call through a select box onchange event in a dataTable. I was able to see the System.outs printing but, I could not see the components given in the update attribute getting updated. I have given the dataTableId in the update attribute.
I guess the problem now is the selectbox is getting populated again and an ajax call is made. Should we give only the parent tags in the update attirbute, for the ajax call to work. Please help me out in this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当
update
属性中的 ID 不是以:
开头时,它会相对于同一个NamingContainer
组件。但由于h:dataTable
是一个NamingContainer
组件,因此您需要通过绝对 ID 来引用它。在 Web 浏览器中右键单击 JSF 页面并选择“查看源代码”以查看生成的 HTML DOM 树。找到由
生成的 HTML元素,确定其
id
属性的值并使用正是update
属性中的 ID,前缀为:
。When the ID in the
update
attribute does not start with:
, it becomes relative to the ID of the current component inside the sameNamingContainer
component. But since theh:dataTable
is anNamingContainer
component, you need to reference it by an absolute ID. Rightclick the JSF page in the webbrowser and choose View Source to see the generated HTML DOM tree. Locate the HTML<table>
element which is generated by the<h:dataTable>
, determine the value of itsid
attribute and use exactly that id in theupdate
attribute, prefixed with:
.