ui:重复奇怪的行为

时间:2013-01-30 14:19:47

标签: jsf-2 mojarra uirepeat

<ui:repeat>显示出一种奇怪的行为。我在<ui:repeat>中显示了一些文本字段和删除链接。单击删除链接时,正在从后端删除正确的行,但视图仍显示已删除的行,而缺少下一行。

代码:

<h:form>
        <ui:repeat var="tarrifDetail" value="#{tarrifBean.tarrifDetails}">
        <br />
            <p:inputTextarea id="tarrifDetailName" value="#{tarrifDetail.tarrifName}" rows="2" cols="38">
                <p:watermark value="Tarrif Name" for="tarrifDetailName" />
            </p:inputTextarea>

            <p:spacer width="6" />

            <p:inputTextarea id="tarrifDetailValue" value="#{tarrifDetail.tarrifValue}"  rows="2" cols="38">
                <p:watermark value="Tarrif Value" for="tarrifDetailValue" />
            </p:inputTextarea>

            <p:spacer width="6" />

            <p:commandLink value="Delete" action="#{tarrifBean.deleteTarrifDetail(tarrifDetail)}" update="@form" />

            <br />

        </ui:repeat>
</h:form>

tarrifBean:

public void deleteTarrifDetail(TarrifDetailManagedBean detail) throws Throwable
{
    try
    {
        TarrifDetailManagerImpl.getInstance().deleteByPrimaryKey(detail.getTarrifDetailId());
        tarrifDetails.remove(detail);

        // problem is not solved even with this temp list scene part
        List<TarrifDetailBean> temp = new ArrayList<TarrifDetailBean>();
        temp.addAll(tarrifDetails);

        tarrifDetails = temp;

        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Successfully deleted tarrif detail", null));
}

当我按下ui中第一行的删除链接时:重复,从数据库中删除正确的元素,并从列表中删除(我调试了代码),但是在视图中,第一行仍然显示,第二行被删除了。

0 个答案:

没有答案