我有一个springMVC数据(列表):
“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“10”
如何编写jsp文件以下表格式显示列表内容?
1 2 3 4
5 6 7 8
9 10
一般来说,我的数据是列表或数组,我希望以多行显示它们,每行有一定数量的项目,比如每行4个。
答案 0 :(得分:2)
你可以在JSTL中做这样的事情。对于基于0的计数器,使用.index
测试第一个tr元素,对于基于1的计数器,使用.count
测试最后一个元素。
<table>
<c:forEach var="td" items="${list}" varStatus="rowCounter">
<c:if test="${rowCounter.index mod 4 eq 0}">
<tr>
</c:if>
<td><c:out value="${td}"/></td>
<c:if test="${(rowCounter.count) mod 4 eq 0}">
</tr>
</c:if>
</c:forEach>
</table>
注意会产生令人讨厌的警告,但会正确生成HTML。
您可以使用<tr>
打印<c:out>
以删除警告产品通过IDE。
<c:out value="<tr>" escapeXml="false" />
整个代码将是。
<table>
<c:forEach var="td" items="${list}" varStatus="rowCounter">
<c:if test="${rowCounter.index mod 4 eq 0}">
<c:out value="<tr>" escapeXml="false" />
</c:if>
<td><c:out value="${td}"/></td>
<c:if test="${(rowCounter.count) mod 4 eq 0}">
<c:out value="</tr>" escapeXml="false" />
</c:if>
</c:forEach>
</table>
答案 1 :(得分:2)
Html代码
<table border="0">
<tr>
<c:forEach var="data" items="${listOfNumbers}" varStatus="loop">
<td>${data}</td>
<c:if test="${(loop.count mod 4) == 0}">
</tr>
<tr>
</c:if>
</c:forEach>
</tr>
</table>
** 4是您要显示的列数,可以是任意列。
**需要准确关闭tr
和td
的地点和时间。