Таблица данных Primefaces дублируется на странице - PullRequest
0 голосов
/ 24 января 2011

Имейте компонент обзора (для добавления отзыва или комментариев) в моем приложении.
При добавлении отзыва этот p:dataTable обновляется с помощью ajax.

перед добавлением отзыва:
enter image description here
после добавления первого отзыва
enter image description here
страница обновления (F5):
enter image description here
после добавления второго отзыва:
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>

Проблема в том, что p:dataTable компонент отображается дважды на странице.
После добавления нового обзора отображается только что созданный p:dataTable.
Как сделать так, чтобы p:dataTable отображался уже после перехода кстраница и один раз?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 12 сентября 2013

Я столкнулся с той же проблемой: p: dataTable внутри формы дублируется, каждый раз, когда производится обновление (: форма).

Одна возможность решить эту проблему - поместить p: outputPanel в качестве основного элемента внутри формы, которая содержит все остальные элементы. При простом обновлении (: form: outputpanel) таблица обновляется, НО больше не дублируется.

0 голосов
/ 26 января 2011

p:dataList компонент решает эту проблему

Отображает единицы и новые элементы.добавляется в уже существующий список вместо создания нового списка, как при p:dataTable!

forum

...