回发不显示更新的内容

时间:2015-04-21 07:17:52

标签: jsf jsf-2

我的网络应用程序中有一个评论页面,当用户添加评论时,会生成回发请求,但是当再次呈现页面时,最近添加的评论未显示。是否有任何方式可以显示更新的评论列表提交评论后的页面?

<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";
    }

1 个答案:

答案 0 :(得分:1)

有多种方法可以做到这一点。您可以添加ajax="false"属性p:commandButton。这将重新呈现整个页面。

或者您指定要更新的组件,向update="@all"添加p:commandButton或为您的面板指定id并更新。