请问怎么把jsp嵌套的两for循环改为jstl或struts2标签输出,第二个for循环主要是要显示一个缩进效果。
最好是能用表格实现,因为我对div布局不是很熟。主要也就是那个缩进效果我做不好,特来请教!
jsp代码如下: <%
for (int i = 0; i < categories.size(); i++) {
Category c = categories.get(i);
String preStr = "";
for(int j=1; j<c.getGrade(); j++) {
preStr += "&nbsp;&raquo;&raquo;&raquo;";
}
%>

          <tr align="middle" bgcolor="#ffffff" height="22">
            <td><%=c.getSortID()%></td>
            <td><input class="np" type="checkbox" value="<%=c.getSortID()%>" name="sortID"></td>
            <td align="left"><%=preStr %>&nbsp;<a href="Modify.jsp?id=<%=c.getSortID()%>"><u><%=c.getSortName() %></u></a></td>
            <td><%=c.getParentID() %></td>
            <td><%=c.getSortPath() %></td>
            <td><%=c.getGrade() %></td>
            <td>
            <% if(c.getGrade()<Category.MAX_GRADE) { %>
            <a href="CategoryAddChild.jsp?id=<%=c.getSortID()%>&grade=<%=c.getGrade()%>">添加子类别</a> | 
            <% } %>
            <a href="CategoryModify.jsp?id=<%=c.getSortID()%>">修改</a> | 
            <a href="CategoryDel.jsp?id=<%=c.getSortID()%>" onclick="return confirm('确认真的要删除该记录?')">删除</a> 
            </td>
          </tr>
<%
}
%>

解决方案 »

  1.   

    c标签  嵌套循环<c:forEach items="${categories}" var="c">
    ${c.getSortID()}...
       <c:forEach items="${grade}" var="d">
         ${d.preStr}
       </c:forEach>
    </c:forEach>
      

  2.   

    struts中迭代<logic:iterate id="cItem" name="categories">
    ${cItem.sortID}........
        <logic:iterate id="gitem" name="grade">
       ...............
        </logic:iterate>
    </logic:iterate>
      

  3.   

    谢谢楼上两位的回答。
    可能是我没有描述清楚~
    我是想实现下图这个效果,所以上面代码用了两个for,第一个是遍历输出,第二个只是为了实现下图的缩进效果。
    如果只是遍历,我用下面代码就能实现,我现在是想要那个缩进的效果
    <s:iterator value="psTypeList" status="status"><%-- 遍历输出 --%>
    .....
    </s:iterator>
      

  4.   

    在struts2 中直接套用<s:iterator value="集合名称(最外层)">
        <s:iterator value="集合名称(嘴里面的)">%%%%%%%%%%%%%%%%%%%%%%%</s:iterator>
    </s:iterator>
      

  5.   

    在EL里面怎么进行字符串的拼接?比如
    for(...) {
       preStr += "&nbsp;&raquo;&raquo;&raquo;";
                        }改成EL要怎么写拼字符???
    <c:forEach >
          这里要怎么表达?
          </c:forEach>