0

在我的应用程序中有评论(用于添加评论或评论)组件。
添加评论时,将p:dataTable使用 ajax 进行更新。

添加评论前:
在此处输入图像描述
添加第一个评论后
在此处输入图像描述
刷新页面(F5):
在此处输入图像描述
添加第二个评论后:
在此处输入图像描述

jsf:

<h:form onsubmit="return commValidator();">
 <h:inputText value="#{comment.commentator}"/>
 <h:inputTextarea value="#{comment.body}";"/>
 <p:commandButton  value="send" action="#{showProducts.addComment}" update="comms"/>
 <p:dataTable id="comms" value="#{showProducts.comments}" var="com">   
  <p:column>#{com.commentator}(
   <h:outputText value="#{com.postDate}">
   </h:outputText>):
  </p:column>
  <p:column>#{com.body}</p:column>
 </p:dataTable> 
</h:form>

问题是p:dataTable组件在页面上显示两次。
添加新评论后,将显示新创建的评论p:dataTable
如何p:dataTable在转到页面和一次后已经显示?

谢谢。

4

2 回答 2

0

p:dataList组件解决了这个问题

它显示一个和新元素。被添加到已经存在的列表中,而不是像使用p:dataTable!

论坛

于 2011-01-26T16:32:05.107 回答
0

我遇到了同样的问题:每次更新(:表单)时,表单内的 p:dataTable 重复。

解决该问题的一种可能性是将 ap:outputPanel 作为包含所有其他元素的表单中的主要元素。当简单地执行 update(:form:outputpanel) 时,表已更新但不再重复。

于 2013-09-12T14:32:32.420 回答