JSTL For每次迭代的每个多项

时间:2015-12-28 15:11:32

标签: jsp jstl

我正在尝试使用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的长度未知且会有所不同。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以每五个值迭代一次表,并在每次迭代时打印五个值。

例如:

<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>

答案 1 :(得分:0)

这是一个完整的例子。

<%@ 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>