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有内置变量的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏