0

我有一个动态生成的列表。我希望这个列表应该使用表格显示。结构应该如下

假设如果我有 6 个值,前 3 个值应该在第一行,第二个 3 应该在第二行我怎么能动态地做到这一点

<table>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>

上述 tr 结构应每 3 个元素重复一次

我尝试使用 divs.its 工作,但我希望使用 table 实现相同的操作。帮帮我。

问候,拉维。

我的意思是该列表是 bean 的集合。在每个 bean 中我都有一些值。所以我的表如下所示

这是正在迭代的列表

<c:forEach value="#{theList}" var="item">

<div class="customer">
<p>${item.field1}</p>
<p>${item.field1}</p>
</div>

</c:foreach>

从上面 div 客户的结构应该如下

  • 前 3 个 bean 应该在 3 列的第一行
  • 第二个 3 豆应该在第二行,有 3 列
  • 继续……
4

3 回答 3

1

使用 JSTL:

<table>
    <c:forEach items="#{theList}" var="item" varStatus="i">
    <c:if test="${i.index % 3 == 0 or i.begin}">
    <tr>
    </c:if>
        <td>${item.field}</td>
    <c:if test="${i.index % 3 == 0 or i.last}">
    </tr>
    </c:if>
    </c:forEach>
</table>
于 2013-02-28T14:30:15.100 回答
0
<c:forEach items="${loopableObject}" var="theObject" varStatus="theCount">
 <table>
  <tr>
    <c:if test='${(status.index) lt 3}'>

    <td>${item.field1}</td>
    <td>${item.field2}</td>
    <td>${item.field3}</td>

   </c:if>
 </tr>

 <tr>
   <c:if test='${(status.index) gt 2}'>
    <td>${item.field1}</td>
    <td>${item.field2}</td>
    <td>${item.field3}</td>

   </c:if>
</tr>
</table>
</c:forEach>
于 2013-02-28T14:37:46.647 回答
0

虽然我还没有测试过,但这样的事情可能会奏效。

<table>
    <tr>
        <c:forEach var="item" items="${yourList}" varStatus="loopStatus">
            <c:if test="${loopStatus.index % 3 == 0 }"><tr></c:if>
                <td><c:out value="${item}"/></td>
            <c:if test="${loopStatus.index % 3 == 0 }"></tr></c:if> 
        </c:forEach>
        <c:if test="${yourList.size % 3 != 0 }"></tr></c:if>
</table>
于 2013-02-28T14:48:23.430 回答