a4j:重复标记不起作用

时间:2014-12-19 07:01:17

标签: jsf ajax4jsf

<a4j:form id="customerForm1" binding="#{customerForm.form}"
          ajaxSubmit="false">

    <h:inputHidden id="id" value="#{customerForm.customer.id}" />

    <rich:panel id="purchaseOrderList"
                styleClass="dataTablePanelStyle">
        <a4j:outputPanel id="table">
            <table border="1" width="100%">
                <thead>
                    <tr align="center">

                        <th width="8%"><h:outputText id="headerq"
                                      value="#{msg.distance}" styleClass="boldOutputTextStyle" /></th>
                        <th width="2%"><h:outputText id="ds8" value="" /></th>

                    </tr>
                </thead>
                <tbody>
                    <a4j:repeat
                        value="#{customerForm.customer.distanceTravelledList}"
                        var="purchaseOrderDetails" rowClasses="row1, row2">
                        <tr class="#{(rowIndex mod 2 eq 0)? 'row1' : 'row2'}">
                            <td align="center" width="10%">
                                <h:inputText id="distance" size="5" required="true"
                                             value="#{purchaseOrderDetails.distance}"
                                             styleClass="inputTextStyle">

                                </h:inputText>
                            </td>
                            <td><a4j:commandButton value="+"
                                               action="#{customerForm.addDistanceTravelled}"
                                               reRender="purchaseOrderList">
                                </a4j:commandButton></td>

                        </tr>
                    </a4j:repeat>
                </tbody>
            </table>
        </a4j:outputPanel>
    </rich:panel>
</a4j:form>

我创建了一个表格,我使用了a4j:repeat标签,以便用户可以根据需要动态添加行。但是当我删除这个标签时,即a4j:重复前端只显示一行,即两列名称和输入文本字段..但是当我添加a4j:repeat`时,只显示列名称,即距离......任何人都可以告诉我,我错过了什么?

1 个答案:

答案 0 :(得分:0)

试试这个,我正在为我的流程使用这样一个表。它对我来说很好,它可能对你有所帮助。

<table border="1" width="100%">
<thead>
    <tr align="center">

        <th width="8%"><h:outputText id="headerq"
                      value="#{msg.distance}" styleClass="boldOutputTextStyle" /></th>
        <th width="2%"><h:outputText id="ds8" value="" /></th>

    </tr>
</thead>
<tbody>
    <a4j:repeat
        value="#{customerForm.customer.distanceTravelledList}"
        var="purchaseOrderDetails" rowKeyVar="rowIndex">
        <tr>
            <td align="center" width="10%">
                <h:inputText id="distance" required="true"
                             value="#{purchaseOrderDetails.distance}"
                             styleClass="inputTextStyle">
                </h:inputText>
            </td>
            <td><a4j:commandButton value="+"
                               action="#{customerForm.addDistanceTravelled}"
                               reRender="purchaseOrderList">
                </a4j:commandButton></td>
        </tr>
    </a4j:repeat>
</tbody>