分享

<c:forEach varStatus='status'>中 varStatus的属性...

 Levy_X 2017-10-11

varStatus是<c:forEach>jstl循环标签的一个属性,varStatus属性。就拿varStatus=“status”来说,事实上定义了一个status名的对象作为varStatus的绑定值。该绑定值也就是status封装了当前遍历的状态,比如,可以从该对象上查看是遍历到了第几个元素:${status.count}

我们常会用c标签来遍历需要的数据,为了方便使用,varStatus属性可以方便我们实现一些与行数相关的功能,如:奇数行、偶数行差异;最后一行特殊处理等等。先就varStatus属性常用参数总结下: 

${status.index}      输出行号,从0开始。${status.count}      输出行号,从1开始。${status.current}   当前这次迭代的(集合中的)项${status.first}  判断当前项是否为集合中的第一项,返回值为true或false${status.last}   判断当前项是否为集合中的最后一项,返回值为true或falsebegin、end、step分别表示:起始序号,结束序号,跳跃步伐。
如:<c:forEach begin='1' end='5' step='2' items='${list}' var='item'>表示:操作list集合汇中1~5条数据,不是逐条循环,而是按每2个取值。即操作集合中的第1、3、5条数据。
下面是我从网上找的图,觉得挺好,收藏了:c:forTokens items='12,34,56,78.89' delims=',' var='dailyPrice'>
    <tr>
     <td><c:out value='${dailyPrice}' /></td></tr>//以,号作为字符串分隔!变量名 delims属性可以随便加,可以有一个多或多个 作为分隔符

我们最常用的就是count和index,用来搞斑马线表格
常见的用法的是<c:forEach var='varity' items='${sessionScope.myList}' varStatus='status'>
                                 <!--实现斑马线效果--> 
                                 <c:if test='${status.count%2==0}' >
                                       <tr bgcolor='lightyellow'>
                                  </c:if>
                                  <c:if test='${status.count%2!=0}' >
                                       <tr>
                                  </c:if>
                                       <td>Elements</td>
                                 </tr> 
                        </c:forEach>


<c:forEach var='varity' items='${sessionScope.myList}' varStatus='status'>
         ${status.first}/${status.last}
               当前:${status.current}
 </c:forEach>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多