JSTL FOREACH标签的varStatus状态属性

来源:互联网 发布:安卓登录源码 编辑:程序博客网 时间:2024/06/09 15:23
<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                 当前成员是否首位成员 

    last                boolean                 当前成员是否末尾成员

================================================================================================

一直不太清楚varStatus中index 和count的用法,尤其是下边一段代码:

Java代码
[java] view plain copy
  1. <span style="font-size:14px;">   <c:forEach var ="i" begin="1" end ="20" varStatus="status">  
  2.     ${i } ${status.index }<br>  
  3.     </c:forEach>  
  4. </span>  



status.index与count的输出结果是一样的。

查看了下源代码发现:

       

Java代码
[java] view plain copy
  1. <span style="font-size:14px;">     public int getIndex() {  
  2.                 return (index + begin);        
  3.                   // our 'index' isn't getIndex()  
  4.             }  
  5.             public int getCount() {  
  6.                 return (count);  
  7.             }</span>  



原来index的值是迭代的索引值+begin的。。

0 0
原创粉丝点击