检查是否在第二个项目上

时间:2012-05-11 15:05:30

标签: jsp jstl

下面的代码检查最后一项,但我需要检查第二项,我可以使用计数器来实现这一点,但有更好的方法吗?

<c:if test="${status.last}">

2 个答案:

答案 0 :(得分:1)

一种方法:

//looping through a list called "myList"

<c:if test="${fn:length(myList)==(status.count+1)}">

请注意,此代码将在每次迭代时计算列表的大小;更好的方法是将大小放入变量并将其与status.count进行比较。

答案 1 :(得分:0)

JacobM有正确的想法,但我认为它更像是这样。

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:forEach var="current" varStatus="status" items="${list}">   
   <c:if test="${(fn:length(list) - 1) == status.count}" >
        The next to last item is ${current}
   </c:if> 
</c:forEach> 

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="nextToLast" value="${fn:length(list) - 1}" />
<c:forEach var="current" varStatus="status" items="${list}">   
   <c:if test="${nextToLast == status.count}" >
        The next to last item is ${current}
   </c:if> 
</c:forEach>