我将 RichFaces 3.3.1 与 JSF RE 1.2 和 facelets 一起使用。我对连接到rich:datascroller 的rich:dataTable 的HTML 生成有一个奇怪的问题。
<h:form id="br"> ... <rich:datascroller id="scrt" page="#{searchBookings.page}" stepControls="hide" renderIfSinglePage="false" for="bt" align="left" reRender="ttips,bt"/> <rich:dataTable id="bt" rows="20" 渲染="#{!empty searchBookings.bookings}" value="#{searchBookings.bookings}" var="row" binding="#{searchBookings.table} "> ……
第一次加载页面时,一切正常。如果我再次访问同一页面,通过数据滚动器更改页面不再刷新数据表。点击刷新按钮可以解决问题。
添加 a4j:log 显示此警告:
警告 [14:50:07,259]:用于替换为 id 为 br:bt 的响应的节点在文档中未找到
事实上,在检查 HTML 时,“正确”的页面如下所示:
<table class="dr-table rich-table" id="br:bt" ....
而“坏”页面如下所示:
<table class="dr-table rich-table" id="br:bt:0" ....
请注意 ID 末尾的“:0”,它不应该在那里。这可能是什么原因造成的?
感谢您的任何意见。