我有一个ui:重复一遍。我希望它每5秒刷新一次。我试过p:民意调查,但它不起作用。有没有办法使这个工作?
<ui:repeat value="#{videoImpl.fGetAllComments()}" var="v" id="commentlist">
<div class="comment-entry"><h:outputText value="#{v.comment}"/></div>
</ui:repeat>
<p:poll update="commentlist" interval="5" />
答案 0 :(得分:5)
<ui:repeat>
本身不生成任何HTML。因此HTML输出中没有id="commentlist"
的元素,因此<p:poll>
后面的JS代码找不到要更新的内容。
将其包装在另一个JSF组件中,该组件呈现一个完整的HTML元素,例如<h:panelGroup>
,然后更新它。
<h:panelGroup id="commentlist">
<ui:repeat value="#{videoImpl.fGetAllComments()}" var="v">
<div class="comment-entry">#{v.comment}</div>
</ui:repeat>
</h:panelGroup>
<p:poll update="commentlist" interval="5" />