SpringMVC可以从List <string>?</string>创建一个表

时间:2014-09-01 03:50:43

标签: jsp spring-mvc html-table

我有一个springMVC数据(列表):

  

“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“10”

如何编写jsp文件以下表格式显示列表内容?

 1   2   3   4

 5   6   7   8

 9   10

一般来说,我的数据是列表或数组,我希望以多行显示它们,每行有一定数量的项目,比如每行4个。

2 个答案:

答案 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是您要显示的列数,可以是任意列。

**需要准确关闭trtd的地点和时间。