我的网络应用程序中有一个评论页面,当用户添加评论时,会生成回发请求,但是当再次呈现页面时,最近添加的评论未显示。是否有任何方式可以显示更新的评论列表提交评论后的页面?
<p:panel header="Comments :">
<ui:repeat var="comment"
value="#{ticketBean.getCommentList(ticketBean.ticketModel.ticketId)}">
<p:panel header="#{comment.username} , #{comment.formattedDate}">
<h:outputText id="coment" value="#{comment.remark}"></h:outputText>
</p:panel>
<p:separator />
</ui:repeat>
</p:panel>
<h:form id="commentForm">
<p:inputTextarea value="#{ticketBean.comment.remark}" />
<h:inputHidden value="#{ticketBean.comment.username}"
id="hiddenUserName" />
<h:inputHidden value="#{ticketBean.ticketModel.ticketId}"
id="hiddenTicketId" />
<p:commandButton action="#{ticketBean.addComment}" value="Comment"></p:commandButton>
</h:form>
我将从ticketBean.addComment
返回同一页面的名称,此处为TicketBean#addComment
,
public String addComment() {
comment.setTicketId(ticketModel.getTicketId());
comment.setUsername("alok.dac");
cDao.addComment(comment);
return "viewDetailedTicket";
}
答案 0 :(得分:1)
有多种方法可以做到这一点。您可以添加ajax="false"
属性p:commandButton
。这将重新呈现整个页面。
或者您指定要更新的组件,向update="@all"
添加p:commandButton
或为您的面板指定id
并更新。