1
여러 테이블 열에 ArrayList를 채우려하고 있습니다. 원래 이전 페이지에서 Scriptlet을 사용하여 수행 했었지만 지금은 그 일이 낯설게되었습니다. 그리고 struts 태그를 사용하여 번역하는 데 문제가 있습니다.<s:iterator>을 사용하여 여러 열에 대해 동적 arraylist 채우기
나는 테이블이처럼 살고 싶지
Checkbox 1 Name 1 Checkbox 2 Name 2
Checkbox 3 Name 3 Checkbox 4 Name 4
etc....
이 원래 스크립틀릿 코드 :
<% for (int j=0; j < getDocumentList().length; j++) {
setPacket(j);
setStringIndex(Integer.toString(j));
%>
<tr>
<td><input type="checkbox" name="displayTag<%= getStringIndex() %>"/></td>
<td class="labelText"><%= getFormName() %></td>
<%
j++;
if (j < getDocumentList().length) {
setPacket(j);
setStringIndex(Integer.toString(j));
%>
<td><input type="checkbox" name="displayTag<%= getStringIndex() %>"/></td>
<td class="labelText"><%= getFormName() %></td>
<% } %>
</tr>
<% } %>
편집 : 여기에 작업 코드는 최종 형태입니다!
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td class="maintain_test_info_table_subholder width5per"><fmt:message key="column.select"/></td>
<td class="maintain_test_info_table_subholder width40per"><fmt:message key="column.docname"/></td>
<td class="maintain_test_info_table_subholder width5per"><fmt:message key="column.select"/></td>
<td class="maintain_test_info_table_subholder width40per"><fmt:message key="column.docname"/></td>
</tr>
<s:iterator value="documentsList" var="documentList" status="status">
<s:if test="#status.index == 0">
<s:set var="docIndex" value="%{#status.index}" />
</s:if>
<s:else>
<s:set var="docIndex" value="%{#docIndex+1}" />
</s:else>
<c:set var="rowClass" value="row_even"/>
<s:if test="#status.odd == true">
<c:set var="rowClass" value="row_odd"/>
</s:if>
<s:if test="%{#documentListSize > #docIndex}">
<tr class="${rowClass}">
<s:hidden name="%{'documentsList['+#docIndex+'].documentId'}" />
<s:hidden name="%{'documentsList['+#docIndex+'].documentName'}" />
<s:hidden name="%{'documentsList['+#docIndex+'].documentSelected'}" />
<td class="tablecell_middle width5per" >
<input type='checkbox' id='displayTag_${docIndex}' value="${documentsList[docIndex].documentSelected}"/>
</td>
<td class="tablecell_middle width40per" id='documentName_${docIndex}'>
<c:out value="${documentsList[docIndex].documentName}"/>
</td>
<s:set var="docIndex" value="%{#docIndex+1}" />
<s:if test="%{#documentListSize > #docIndex}">
<s:hidden name="%{'documentsList['+#docIndex+'].documentId'}" />
<s:hidden name="%{'documentsList['+#docIndex+'].documentName'}" />
<s:hidden name="%{'documentsList['+#docIndex+'].documentSelected'}" />
<td class="tablecell_middle width5per" >
<input type='checkbox' id='displayTag_${docIndex}' value="${documentsList[docIndex].documentSelected}"/>
</td>
<td class="tablecell_middle width40per" id='documentName_${docIndex}'>
<c:out value="${documentsList[docIndex].documentName}"/>
</td>
</s:if>
</tr>
</s:if>
</s:iterator>
</table>
같은 인덱스에 대한 귀하의 ovn 변수를 설정해야합니다. iterator의 처음이나 끝 부분에서 설정해야합니까? 그리고 두 번째로 나는 이것을
이전 코드에서 여러 번 설정해야합니다. iterator의 내부에 있어야합니다. –
나는 지금 내가 어디에 있는지 보여주기 위해 코드를 에디팅했다. 문제는 페이지에 인쇄하기 위해 out 문에 인덱스를 추가하려고 할 때 비어있는 것입니다. 숨겨진 태그에서 어떻게 선언하는지 미러링하려고하면 코어 태그가 마음에 들지 않습니다. 코어 출력 태그 대신 사용할 수있는 strutsa 태그가 있습니까? – JRHigdon
관련 문제