페이지 목록에서 개체 목록으로 데이터베이스를 업데이트해야합니다. Struts2, tiles, Jquery, Hibernate를 사용하여 개발 된 응용 프로그램이 있습니다. 나는 struts2에서 사용자 정의 변환 옵션을 사용하여 객체 유형의 사용자 정의 콜렉션을 변환했습니다. 콜렉션을 ArrayList/Hasset (두 선언을 모두 시도한) 유형으로 선언했습니다. 페이지에서 사용자 지정 개체 속성의 값을 설정합니다. 아래는 렌더링되는 HTML입니다. lstRulemaster (0)에 할당 된 객체는 하나뿐입니다. 나는 무엇이 잘못되었는지 알지 못한다.Struts2 양식의 ArrayList에 중복 레코드가 있습니다.
HTML
<tr class="odd">
<td class="locked" style="width:200px">
<input type="hidden" name="lstRulemaster(0).masterDataId" value="2" id="hierarchyUpdateForm_lstRulemaster(0)_masterDataId"/>
<input type="hidden" name="lstRulemaster(0).masterDataCode" value="000000032334307713" id="hierarchyUpdateForm_lstRulemaster(0)_masterDataCode"/>
<input type="hidden" name="lstRulemaster(0).masterDataRuleMapId" value="1" id="hierarchyUpdateForm_lstRulemaster(0)_masterDataRuleMapId"/>
000000032334307713 - MONO E/S
</td>
<td style="width:60px"></td>
</tr>
<display:table id="data" name="lstEntities" sort="external" uid="row" htmlId="rowid" class="tborder tborder1" excludedParams="*" style="width:100%" pagesize="${pageCriteria.recordsPerPage}" partialList="true" size="${pageCriteria.totalRecords}" export="false" requestURI="hierUpdateMDA.action"> <display:column titleKey="${entity.masterDataDesc}" class="locked" style="width:200px" headerClass="locked"> <s:hidden name="lstRulemaster(%{#attr.row_rowNum-1}).masterDataId" value="%{searchAttribute.masterData.id}" /> <s:hidden name="lstRulemaster(%{#attr.row_rowNum-1}).masterDataCode" value="%{#attr.row.mastervaluecode}" /> <s:property value="%{#attr.row.mastervaluecode}" /> - <s:property value="%{#attr.row.mastervaluedescp}" /> </display:column>
내 변환 속성 파일 내용 JSP
.컬렉션의 개체 속성을 인쇄 할 때 복제가 발생합니다. 컬렉션 크기 자체는 페이지에서 사용할 수있는 레코드의 두 배입니다. 값도 반복됩니다.
관련성이없는 많은 코드가있어서 읽기가 어렵습니다. jsp와 관련 코드 만 게시하십시오. –
내 코드를 수정했습니다. – Jothi