items、var、varStatus

血红的双手。 提交于 2019-11-27 05:43:22

JSTL中,<c:foreach items=" " var=" " varStatus="">,这句代码的作用是什么?

这个页面是以列表显示数据的,对于列表每一条数据的来源,items=“”,“”里面加的是数据来源,var代表的是一条数据的变量,通过这个变量来取值,例如:<c:forEach items="${contentModel.items}" var="item">,数据源是${contentModel.items},每一条数据的变量就是item,之后的表格数据就可以从item里面取值了,但是前提是你已经在${contentModel.items}放入值了。

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

current:当前这次迭代的(集合中的)项
index:当前这次迭代从 0 开始的迭代计数
count:当前这次迭代从 1 开始的迭代计数
first:用来表明当前这轮迭代是否为第一次迭代的标志,返回true/false
last:用来表明当前这轮迭代是否为最后一次迭代的标志,返回true/false

用jstl写隔行变色

        <table cellpadding="1px" cellspacing="1px" border="1px">
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>年级</th>
            </tr>
            <c:forEach items="${list}" var="s" varStatus="i">
                <c:if test="${i.count%2 == 0}">
                <tr bgcolor="aqua">
                    <td>${i.count}</td>
                    <td>${s.name}</td>
                    <td>${list[i.index].age}</td>
                </tr>
                </c:if>
                <c:if test="${i.count%2 != 0}">
                <tr bgcolor="red">
                    <td>${i.count}</td>
                    <td>${s.name}</td>
                    <td>${list[i.index].age}</td>
                </tr>
                </c:if>
            </c:forEach>
        </table>

结果 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!