提交表单时,索引属性得到重复的struts2

提交表单时,索引属性得到重复的struts2,struts2,Struts2,我需要在struts2中添加/编辑/删除对象表。当我提交表单时,我得到了重复的对象 让我知道我哪里出错了 这是我的代码: <s:form action="addPromotionLineItems" id="promotionLineItemsAddFormId"> <display:table id="data" name="lstPromotionLineItems" sort="external" uid="row" htmlId="rowid"

我需要在struts2中添加/编辑/删除对象表。当我提交表单时,我得到了重复的对象

让我知道我哪里出错了

这是我的代码:

<s:form action="addPromotionLineItems" id="promotionLineItemsAddFormId">
    <display:table id="data"
        name="lstPromotionLineItems" sort="external" uid="row" htmlId="rowid"
        class="tborder" excludedParams="*" style="width:100%" export="false">
        <display:column titleKey="table.title.material" style="width:100px">
            <s:property value="%{#attr.row.materialCode}" />
            <s:hidden
                name="lstPromotionLineItems(%{#attr.row_rowNum-1}).promotionLineItemId"
                value="%{#attr.row.promotionLineItemId}" />
            <s:hidden
                name="lstPromotionLineItems(%{#attr.row_rowNum-1}).materialCode"
                value="%{#attr.row.materialCode}" />
            <s:hidden
                name="lstPromotionLineItems(%{#attr.row_rowNum-1}).material.description"
                value="%{#attr.row.material.description}" />
            <s:hidden
                name="lstPromotionLineItems(%{#attr.row_rowNum-1}).programId"
                value="%{#attr.row.programId}" />
        </display:column>
        <display:column property="material.description"
            titleKey="table.title.materialdesc" />

</s:form>



function refreshTableRecords(url,formNameId,resultId)
    $.ajax({
        type:'POST',
        url: url,
        data:$('#'+formNameId).serialize(),
        success : function(response) {
            $('#'+resultId).html(response); 
            },
            error:function(data)
            {
                alert(data);
            }
        });
}

函数refreshTableRecords(url、formNameId、resultId)
$.ajax({
类型:'POST',
url:url,
数据:$('#'+formNameId).serialize(),
成功:功能(响应){
$('#'+resultId).html(响应);
},
错误:函数(数据)
{
警报(数据);
}
});
}

我在jQuery ui模式弹出窗口中有此内容。

我认为在struts中映射到收集数据时,语法不是:

name="lstPromotionLineItems(%{#attr.row_rowNum-1}).promotionLineItemId"
而是:

name="lstPromotionLineItems[%{#attr.row_rowNum-1}].promotionLineItemId"

输入名称中row_num属性周围的括号略有不同。

您能描述一下复制对象的确切含义吗?在第0个索引中显示了哪些信息,当我提交操作时,我在第0,1个索引位置得到了这些信息。