jsp標籤遍歷之雙重List
1.雙重嵌套型
<%
List list = new ArrayList();
List list1 = new ArrayList();
List list2 = new ArrayList();
list1.add("1-a");
list1.add("1-b");
list2.add("2-d");
list2.add("2-c");
list.add(list1);
list.add(list2);
request.setAttribute("list1", list1);
request.setAttribute("list", list);
%>
<c:forEach items="${list }" var="item">
<c:forEach items="${item }" var="item2">
<tr>
<td>${item2 }</td>
</tr>
</c:forEach>
</c:forEach>
private List<List<T>> list;
<s:iterator value="list">
<s:iterator value="top" id="inner">
<s:property value="#inner.propertyNameOfObjectInList"></s:property>
</s:iterator>
</s:iterator>
2.雙重同級型
model.addAttribute("list",list);
model.addAttribute("numbers",numbers);
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:forEach var="item" items="${list.list }" varStatus="s">
<tr target="item_id" rel="${item.id}">
<td>${item.name }</td>
<td>${numbers[s.count-1].name}</td>
<td>${item.area }</td>
<td>${item.moduleName }</td>
<td><fmt:formatDate value="${item.rptTime}" pattern="yyyy-MM-dd HH:mm:ss"></fmt:formatDate></td>
</tr>
</c:forEach>
<td>${numbers[s.count-1].name}</td>
其中name是numbers集合存儲的對象類型的屬性,如果numbers集合存儲的是String,可以直接使用
<td>${numbers[s.count-1]}</td>
private List<T> list1;
private List<T> list2;
<s:iterator value="list1">
<s:property value="propertyNameOfObjectInList"></s:property>
<s:iterator value="list2" id="inner">
<s:property value="#inner.propertyNameOfObjectInList"></s:property>
</s:iterator>
</s:iterator>
3.兩個情況結合
private List<T> list1;
private List<List<T>> list2;
<s:iterator value="list1">
<s:property value="propertyNameOfObjectInList"></s:property>
<s:iterator value="list2">
<s:iterator value="top" id="inner">
<s:property value="#inner.propertyNameOfObjectInList"></s:property>
</s:iterator>
</s:iterator>
</s:iterator>