• 详解


    <c:forEach>详解

    <c:forEach>标签的语法定义如下所示。

                        <c:forEach var="name" items="expression" varStatus="name"

                                 begin="expression" end="expression" step="expression">

                                 body content

                        </c:forEach>

               <c:forEach>标签具有以下一些属性:

    l            var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。

    l            items:要进行迭代的集合。对于它所支持的类型将在下面进行讲解。

    l            varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。

    l            begin:如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开始迭代。它的类型为整数。

    l            end:如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代。它的类型也为整数。

    l            step:迭代的步长。

               <c:forEach>标签的items属性支持Java平台所提供的所有标准集合类型。此外,您可以使用该操作来迭代数组(包括基本类型数组)中的元素。它所支持的集合类型以及迭代的元素如下所示:

    l            java.util.Collection:调用iterator()来获得的元素。

    l            java.util.Map:通过java.util.Map.Entry所获得的实例。

    l            java.util.Iterator:迭代器元素。

    l            java.util.Enumeration:枚举元素。

    l            Object实例数组:数组元素。

    l            基本类型值数组:经过包装的数组元素。

    l            用逗号定界的String:分割后的子字符串。

    l            javax.servlet.jsp.jstl.sql.Result:SQL查询所获得的行。

               不论是对整数还是对集合进行迭代,<c:forEach>的varStatus属性所起的作用相同。和var属性一样,varStatus用于创建限定了作用域的变量(改变量只在当前标签体内起作用)。不过,由varStatus属性命名的变量并不存储当前索引值或当前元素,而是赋予javax.servlet.jsp.jstl.core.LoopTagStatus类的实例。该类包含了一系列的特性,它们描述了迭代的当前状态,如下这些属性的含义如下所示:

    l            current:当前这次迭代的(集合中的)项。

    l            index:当前这次迭代从0开始的迭代索引。

    l            count:当前这次迭代从1开始的迭代计数。

    l            first:用来表明当前这轮迭代是否为第一次迭代,该属性为boolean类型。

    l            last:用来表明当前这轮迭代是否为最后一次迭代,该属性为boolean类型。

    l            begin:begin属性的值。

    l            end:end属性的值

    l            step:step属性的值

    下面就来看一个个基本的例子,表格隔行背景色变化
    <c:forEach var="item" items="${contents}" varStatus="status">
                <tr <c:if test="${status.count%2==0}">bgcolor="#CCCCFE"</c:if> align="left">
                xxx            </tr>
    </c:forEach>
  • 相关阅读:
    What's New in Chrome DevTools All In One
    User Timing API All In One
    Tailwind CSS All In One
    CSS 3D rotate with mouse move All In One
    Event Timing API All In One
    Long Tasks API All In One
    js get window custom global variables All In One
    Web 前端广告落地页性能监控系统 All In One
    Element Timing API All In One
    base64编码
  • 原文地址:https://www.cnblogs.com/baobeiqi-e/p/9884836.html
Copyright © 2020-2023  润新知