该标签使用来对一个 Collection 集合中的一系列对象进行迭代输出,并且可以指定迭代次数。一般使用格式如下:
<c:forEach items=”collection” var=”varName” [varstatus=”varStatusName”] [begin=”begin”] [end=”end”] [step=”step”]> body content </c:forEach>
这个标签中所使用的属性描述如下:
var:也就是保存在 Collection 集合类中的对象名称。
items:将要迭代的集合类名。
varStatus:存储迭代的状态信息,可以访问到迭代自身的信息。
begin:如果指定了 begin 值,就表示从 items[begin]开始迭代,如果没有指定 begin 值,则从集
合的第一个值开始迭代。
end:表示迭代到集合的 end 位时结束,如果没有指定 end 值,则表示一直迭代中集合的最后一
位。
step:指定迭代的步长。
<% String items[] = new String[5]; items[0] = "核心标签库"; items[1] = "国际化标签"; items[2] = "sql标签"; items[3] = "xml标签"; items[4] = "函数标签库"; request.setAttribute("items", items); %> <b></b><c:out value="不指定begin的迭代:"/></b> <c:forEach var="item" items="${items}"> <c:out value="${item}"/><br> </c:forEach> <b><c:out value="指定begin和end的迭代"/></b> <c:forEach var="item" items="${items}" begin="1" end="3" step="1"> <c:out value="${item}"/><br> </c:forEach> <b><c:out value="输出整个迭代的信息"/></b> <c:forEach var="item" items="${items}" begin="3" end="4" step="1" varStatus="s"> <c:out value="${item}"/>的四种属性<br> 所在的位置,索引<c:out value="${s.index}"/><br> 共迭代了:<c:out value="${s.count}" /><br> 是否为第一个位置:<c:out value="${s.first}" /><br> 是否为最后一个位置:<c:out value="${s.last}"/><br> </c:forEach>