JSTL如何获取迭代层次?

wffger
  • 203

使用了<c:forEach>,如何计算迭代的层次?

<c:set var="count" scope="session" value="${0}"/>
<c:forEach var="row" items="${result.rows}">
  <c:set var="count" scope="session" value="${${count}+1}"/>
  <tr>
   <td data-title="ID"><c:out value="${count}"/></td>
   <td data-title="Name"><c:out value="${row.address_key}"/></td>
   <td data-title="Coord"><c:out value="${row.address_key}"/></td>
   <td data-title="Link"><a href="#" target="_blank">修改</a></td>
  </tr>
</c:forEach>

如上代码,count变量为文本而不是数值相加。

回复
阅读 2.1k
2 个回答

varStatus

<c:forEach
    varStatus="status">
    ${status.index}      输出行号,从0开始。
    ${status.count}      输出行号,从1开始。
    ${status.current}   当前这次迭代的(集合中的)项
    ${status.first}  判断当前项是否为集合中的第一项,返回值为true或false
    ${status.last}   判断当前项是否为集合中的最后一项,返回值为true或false
</c:forEach>

jstl有内置变量的

宣传栏