Primefaces 数据表在页面上重复

发布于 2024-10-13 15:25:02 字数 1232 浏览 3 评论 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在进入页面后就显示一次?

谢谢。

Have review(for adding review or comments) component in my application.
When add review, that p:dataTable is updated with ajax.

before adding review:
enter image description here
after adding first review
enter image description here
refresh page(F5):
enter image description here
after adding second review:
enter image description here

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>

The problem is p:dataTable component is displayed twice on page.
After new review been added, that newly created p:dataTable displayed.
How to make p:dataTable displayed already after go to page and once time?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

等风来 2024-10-20 15:25:02

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

它显示了和新的 elem。添加到已有的列表中,而不是像 p:dataTable 那样创建新的列表!

论坛

p:dataList component resolves this problem

It displays ones and new elem. is added to already existing list instead of creating new one list as with p:dataTable!

forum

眼眸里的那抹悲凉 2024-10-20 15:25:02

我遇到了同样的问题:每次进行 update(:form) 时,表单内的 p:dataTable 都会重复。

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

I encountered the same problem: p:dataTable inside form is duplicated, each time an update(:form) is made.

One possibility to solve the problem is to put a p:outputPanel as major element inside the form which contains all other elements.
When simply doing an update(:form:outputpanel) the table is update BUT not duplicated anymore.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文