JSP中的JSTL中的简单的forEach问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 20:30:33
比如说,在一个forEach中,声明一个变量,然后在forEach中循环+1;
代码如下:

<c:set var="va1" value="1"/>
<c:forEach Items="${StudentList}" var="stu">
<c:set var="va2" value="${va1=va1+1}" scope="page"/> //这行不支持此种表达式,要在循环中循环+1;不要用<%=%> 这个如何写呢?
<c:out value="${va2}"
</c:forEach>

如果你只是想知道是第几次循环的值的话,<c:forEach Items="${StudentList}" var="stu" status="va1"> 在这个标签里面有一个status属性,它纪录了第几次循环的值。 然后这个直接调用${val.count},这个就是循环到第几次的值了。

第一种:
<c:forEach var="list" items="${list}" varStatus="status">
<c:out value="${status.index+1}"/>
</c:forEach>
第二种:
<c:set var="i" value="1"/>
<c:forEach var="beans" items="${list}">
<tr bgcolor="#FFFFFF" class="font">
<td class="font"><div align="center"><c:out value="${i}"/></div></td>
</tr>
<c:set var="i" value="${i+1}"/>
</c:forEach>

scope不用也没有关系,如果下面还需要自增的变量的话,再定义就是了
还有jstl默认就是page范围的

试试这样<c:set var="va2" value="${va1+1}" scope="page"