<for:each>标签的两种语法:
1.迭代包含多个对象的集合
<c: forEach [” varName”] items=”collection”[varStatus=”varStatusName”] [begin=”begin”] [end=”end”] [step=”step”] >
body content
</c:forEach>
2.迭代指定范围内的集合
<c:forEach [var=”varName”] [varStatus=”varStatusName”]begin=”begin” end=”end” [step=”step”]>
bodycontent
</c:forEach>
(1)var苏醒用于指将当前迭代到的元素保存到page域中的名称
(2)items属性用于指定将要迭代的集合对象
(3)varStatus用于指定当前迭代状态信息的对象保存到page域中的名称
(4)begin属性用于指定从集合中的第几个元素开始进行迭代,beigin的索引值从0开始,如果没有指定items属性,就从begin指定的值开始迭代,知道迭代结束为止。
(5)step属性用于指定迭代的步长.
<c:foreach>标签的varStatus属性用于设置一个javax.servlet.jsp.jstl.core.LoopTagStatus类型的变量,这个变量包含从集合中取出元素的状态信息。使用<c:foreach>标签的varStatus属性可以获取一下信息:
(1)count:表示元素在集合中的序号,从1开始计数。
(2)index:表示当前元素在集合中的索引,从0开始计数。
(3)first:表示当前是否为集合中的第一个元素。
(4)last:表示当前是否为集合中的最后一个元素。
<%@ page language="java" contentType="text/html; charset=UTF-8"
import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>foreach标签</title>
</head>
<body style="text-align: center;">
<%
List userList = new ArrayList();
userList.add("Tom");
userList.add("Mike");
userList.add("Lina");
%>
<table >
<tr>
<td>序号</td>
<td>索引</td>
<td>是否为第一个元素</td>
<td>是否为最后一个元素</td>
<td>元素的值</td>
</tr>
<c:forEach var="name" items="<%=userList %>" varStatus="status">
<tr>
<td>${status.count }</td>
<td>${status.index }</td>
<td>${status.first }</td>
<td>${status.last }</td>
<td>${name }</td>
</tr>
</c:forEach>
</table>
</body>
</html>
效果: