<c:forEach items="${messages}"
var="item"
begin="0"
end="9"
step="1"
varStatus="var">
</c:forEach>
上面这段代码的意思是针对messages 对象进行循环,循环中的每个循环项的引用变量为
item,循环范围是从0到9,每次步长为1。而varStatus则定义了一个循环状态变量var,
循环状态变量中保存了循环进行时的状态信息,包括以下几个属性:
属性 类型 说明
index int 当前循环索引号
count int 成员总数 (其实是指当前到哪一个对象,一般是index+1)
first boolean 当前成员是否首位成员
var="item"
begin="0"
end="9"
step="1"
varStatus="var">
</c:forEach>
上面这段代码的意思是针对messages 对象进行循环,循环中的每个循环项的引用变量为
item,循环范围是从0到9,每次步长为1。而varStatus则定义了一个循环状态变量var,
循环状态变量中保存了循环进行时的状态信息,包括以下几个属性:
属性 类型 说明
index int 当前循环索引号
count int 成员总数 (其实是指当前到哪一个对象,一般是index+1)
first boolean 当前成员是否首位成员
last boolean 当前成员是否末尾成员
================================================================================================
一直不太清楚varStatus中index 和count的用法,尤其是下边一段代码:
- <span style="font-size:14px;"> <c:forEach var ="i" begin="1" end ="20" varStatus="status">
- ${i } ${status.index }<br>
- </c:forEach>
- </span>
status.index与count的输出结果是一样的。
查看了下源代码发现:
- <span style="font-size:14px;"> public int getIndex() {
- return (index + begin);
- // our 'index' isn't getIndex()
- }
- public int getCount() {
- return (count);
- }</span>
原来index的值是迭代的索引值+begin的。。