我正在尝试使用JSTL c:forEach编写一个表,但似乎无法理解。我有一组项目(一维列表),需要制作一个这样的表:
<table>
<th> <th> <th> <th> <th>
listItem[0] listItem[1] listItem[2] listItem[3] listItem[4]
listItem[5] listItem[6] listItem[7] listItem[8] listItem[9]
等等。listItem的长度未知,并且会有所不同。如有任何帮助,我们将不胜感激。
您可以每五个值迭代一次表,并在每次迭代时打印五个值。
例如:
<c:forEach items="${table}" var="item" step="5" varStatus="i">
${table[i.index]}
${table[i.index+1]}
${table[i.index+2]}
${table[i.index+3]}
${table[i.index+4]}<br />
</c:forEach>
这里有一个完整的例子。
<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
<c:set var="myList" value="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23"/>
<html>
<body>
<table>
<c:forEach items="${myList}" var="current" varStatus="status">
<c:if test="${status.count % 5 == 1}"><tr></c:if>
<td>${current}</td>
<c:if test="${status.count % 5 == 0}"></tr></c:if>
</c:forEach>
</table>
</body>
</html>