<c:forEach>循环标签可以根据循环条件,遍历数组和集合类中的所有或部分数据。
<c:forEach>标签的语法格式有以下两种。
语法一:集合成员迭代
<c:forEach items=“data” [var=“name”] [begin=“start”] [end=“finish”] [step=“step”] [varStatus=“statusName”]>
标签体
</c:forEach>
在该语法中,items属性是必选属性,通常使用EL指定,其他属性均为可选属性。
语法二:数字索引迭代
<c:forEach begin=“start” end=“finish” [var=“name”] [varStatus=“statusName”] [step=“step”] >
标签体
</c:forEach>
在该语法中,begin和end属性是必选的属性,其他属性均为可选属性。
items:用于指定被循环遍历的对象,多用于数组与集合类。该属性的属性值可以是数组、集合类、字符串和枚举类型,并且可以通过EL进行指定。
var:用于指定循环体的变量名,该变量用于存储items指定的对象的成员。
begin:用于指定循环体的起始位置,如果没有指定,则从集合的第一个值开始迭代,可以使用EL。
end:用于指定循环体的终止位置,如果没有指定,则一直迭代到集合的最后一位,可以使用EL。
step:用于指定循环的步长,可以使用EL。
varStatus:用于指定循环的状态变量,该属性还有4个状态属性,如下表所示。
变量 | 类型 | 描述 |
---|---|---|
index | Int | 当前循环的索引值,从0开始 |
count | Int | 当前循环的循环计数,从1开始 |
first | Boolean | 是否为第一次循环 |
last | Boolean | 是否为最后一次循环 |
标签体:可以是JSP页面显示的任何元素。