Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 检查是否在最后一个项目上_Jsp_Jstl - Fatal编程技术网

Jsp 检查是否在最后一个项目上

Jsp 检查是否在最后一个项目上,jsp,jstl,Jsp,Jstl,下面的代码检查最后一项,但我需要检查最后第二项,我可以使用计数器来实现这一点,但有更好的方法吗 <c:if test="${status.last}"> 一种方法: //looping through a list called "myList" <c:if test="${fn:length(myList)==(status.count+1)}"> //在名为“myList”的列表中循环 请注意,此代码将在每次迭代时计算列表的大小;更好的方法是将大小放入变量中

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

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

一种方法:

//looping through a list called "myList"

<c:if test="${fn:length(myList)==(status.count+1)}">
//在名为“myList”的列表中循环

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

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> 

倒数第二项是${current}


倒数第二项是${current}
<%@ 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>