foreach:相当于java代码的for语句
1、执行重复操作
比如我们传统for循环:
for(i=0;i<5;i+=2){}
foreach完成重复操作属性值:
* begin:开始值 ---相当于上面的0
* end:结束值 ---相当于上面的5
* var:临时变量。 ---相当于上面的i
* step:步长 ---相当于上面的2
* varStatus: 循环状态对象,它继续有如下属性:
* index:当前循环中容器中元素的索引,从0开始
* count:当前执行第几次循环,从1开始
2、遍历容器
foreach遍历容器的属性值:
* items:容器对象
* var容器中存放元素的临时变量
* varStatus: 循环状态对象,它继续有如下属性:
* index:当前循环中容器中元素的索引,从0开始
* count:当前执行第几次循环,从1开始
举例:
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Title</title>
</head>
<body>
$<c:forEach begin="0" end="10" var="i" step="2" varStatus="s">
${i}---${s.index}---${s.count}<br>
</c:forEach>
<%
List aL = new ArrayList();
aL.add("aaa");
aL.add("bbb");
aL.add("ccc");
request.setAttribute("aL",aL);
%>
<c:forEach items="${aL}" var="str" varStatus="s">
${s.index}---${s.count}---${str}<br>
</c:forEach>
</body>
</html>
输出:
$ 0---0---1
2---2---2
4---4---3
6---6---4
8---8---5
10---10---6
0---1---aaa
1---2---bbb
2---3---ccc