我正在尝试在多个表列上填充ArrayList,这最初是在我们的旧页面上使用Scriptlets完成的,但我知道现在这种做法不受欢迎。我在使用struts标签翻译它时遇到了麻烦。
我希望桌子像这样结束,
Checkbox 1 Name 1 Checkbox 2 Name 2
Checkbox 3 Name 3 Checkbox 4 Name 4
etc....
这是原始的scriptlet代码:
<% 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>
答案 0 :(得分:0)
您需要像这样设置索引的ovn变量
<s:set var="stringIndex" value="%{#status.index++}"/>