0

動的に生成されるリストがあり、このリストをテーブルを使用して表示する必要があります。構造は次のようになります

6 つの値がある場合、最初の 3 つの値が最初の行にあり、2 番目の 3 つの値が 2 番目の行にあるとします。どのように動的に行うことができますか?

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

上記の tr 構造は、3 つの要素ごとに繰り返す必要があります

私はdivs.itsでやってみましたが、同じことをテーブルを使って実装したいと思っています。手伝ってください。

よろしく、ラビ。

私が言いたいのは、リストはBeanのコレクションであるということです.各Beanにはいくつかの値がありました.だから私のテーブルは次のようになります

これは繰り返しているリストです

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

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

</c:foreach>

上から、div customer は次のような構造になっている必要があります

  • 最初の 3 つの Bean は、3 列の最初の行にある必要があります
  • 2 番目の 3 つの Bean は 3 列の 2 行目にある必要があります
  • 続く…
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 に答える