【问题标题】:Primefaces dataTable is duplicated on pagePrimefaces dataTable在页面上重复
【发布时间】:2011-06-14 14:49:46
【问题描述】:

在我的应用程序中有审查(用于添加审查或 cmets)组件。
添加评论时,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在跳转页面后已经显示一次?

谢谢。

【问题讨论】:

    标签: datatable jsf-2 primefaces duplication


    【解决方案1】:

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

    它显示一个和新元素。已添加到现有列表中,而不是像 p:dataTable! 那样创建新列表!

    forum

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题:p:dataTable inside form 重复,每次更新(:form)。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-12
        • 1970-01-01
        • 2011-07-29
        • 1970-01-01
        • 2011-08-02
        • 2017-05-28
        • 2014-02-11
        • 2016-12-21
        相关资源
        最近更新 更多