`
liqita
  • 浏览: 291849 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

c:foreach 标签的属性 详细解释

阅读更多

<c:forEach>标签的使用
2007年03月10日 15:46<c:forEach>标签的使用

在JSP的开发中,迭代是经常要使用到的操作。例如,逐行的显示查询的结果等。在早期的JSP中,通常使用Scriptlets来实现Iterator或者Enumeration对象的迭代输出。现在,通过JSTL的迭代标签可以在很大的程度上简化迭代操作。

         JSTL所支持的迭代标签有两个,分别是<c:forEach>和<c:forTokens>。在这里介绍的是<c:forEach>标签。

         简单点说,<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">

         $status.count:${item}

</c:forEach>

下面的例子是一个固定次数的迭代,用来输出1到9的平方。

<c:forEach var="x" begin="1" end="9" step="1">

         ${x*x}

</c:forEach>
分享到:
评论

相关推荐

    c:forEach标签的使用祥解

    在JavaServer Pages (JSP) 开发中,`c:forEach`标签是Java Expression Language (EL) 和 JavaServer Pages Standard Tag Library (JSTL) 的一部分,它提供了一个方便的方式来迭代数组、集合、Map或其他可迭代的数据...

    c:foreach的各种用法

    #### 一、标签属性详解 ##### 1. `var` `var` 属性用于定义每次循环中使用的变量名,该变量将被设置为当前迭代中的元素。 **示例:** ```jsp &lt;c:forEach var="item" items="${list}"&gt; ${item} &lt;/c:forEach&gt; ``` ...

    c标签遍历集合嵌套的List集合

    本文将详细介绍如何利用`c:forEach`标签来遍历这种嵌套的数据结构。 #### 1. 基础知识介绍 在Java Web项目中,通常会使用`ModelAndView`或`ModelMap`等容器来传递数据至前端页面。这些容器可以存放任何类型的Java...

    c标签-if-foreach-jar

    在这个主题"**c标签-if-foreach-jar**"中,主要涉及到的是JSTL的两个核心标签`&lt;c:if&gt;`和`&lt;c:forEach&gt;`,它们是JSTL提供的条件判断和循环控制标签,通常与`jstl.jar`包一起使用。 首先,让我们详细了解**&lt;c:if&gt;**...

    JSP页面中利用C标签动态合并单元格

    首先,我们需要理解JSTL的核心标签库`&lt;c:forEach&gt;`和`&lt;c:if&gt;`,它们将在动态合并单元格的过程中起到关键作用。`&lt;c:forEach&gt;`用于遍历集合,而`&lt;c:if&gt;`用于执行条件判断。 第一种方法是基于列的合并。假设我们有一个...

    JSP使用C标签时必须引入的jar包

    C标签库提供了一些类似于Java编程中的控制结构,例如`&lt;c:if&gt;`, `&lt;c:forEach&gt;`, `&lt;c:choose&gt;`, `&lt;c:set&gt;`等,这些标签能够帮助开发者更方便地在JSP页面上进行逻辑处理,而无需过多地编写脚本let或Java表达式。...

    jstl中判断list中是否包含某个值的简单方法.docx

    在 jstl 中,判断 list 中是否包含某个值可以使用 c:forEach 标签和 c:if 标签来实现。下面是一个简单的示例代码: ```jsp &lt;c:set var="iscontain" value="false" /&gt; &lt;c:forEach items="${sessionScope....

    C-FOREACH用法

    总结来说,`C-FOREACH`标签在JSP中提供了遍历集合的方便方式,通过定义`items`、`var`、`begin`、`step`等属性,可以灵活控制迭代过程。在实际开发中,利用`C-FOREACH`能够提高代码的可读性和维护性,减少不必要的...

    jstl标签 forEach详解

    jstl forEach 标签的 `items` 属性支持 Java 平台所提供的所有标准集合类型,包括: * `java.util.Collection`:调用 `iterator()` 来获得的元素。 * `java.util.Map`:通过 `java.util.Map.Entry` 所获得的实例。 ...

    一个类似foreach的简单自定义标签

    这个“一个类似foreach的简单自定义标签”是一个示例,它实现了与JSTL(JavaServer Pages Standard Tag Library)中的`&lt;c:forEach&gt;`标签类似的功能,用于遍历集合数据并进行渲染。 自定义标签的核心在于TLD(Tag ...

    jsp 页面上图片分行输出小技巧.docx

    在上面的代码中,我们首先使用 c:forEach 标签遍历图片的集合,并使用 varStatus 属性来获取当前图片的索引。然后,我们使用 c:if 标签来判断图片的索引是否是 3 的倍数,如果是,则输出 tr 标签,以便换行展示图片...

    自己总结的C标签 可以做为标签字典使用

    下面将详细解释文件中涉及的关键知识点。 ### C标签简介 C标签是JSTL的核心标签库,它提供了处理条件逻辑、迭代、URL操作、国际化等常用功能的一系列标签,使得开发者在JSP页面中可以更简洁地进行逻辑控制和数据...

    jstl中C标签详解

    假设有一个列表`list`,其中包含了多个字符串,我们可以使用`&lt;c:forEach&gt;`标签来遍历这个列表并显示每个元素: ```jsp &lt;c:forEach var="item" items="${list}" varStatus="status"&gt; 当前元素:${item} - 索引:${...

    jstl 遍历_jstl遍历_源码.zip

    以下是对JSTL遍历功能的详细解释。 1. JSTL核心库(Core Library): JSTL的核心库提供了用于处理常见JSP任务的标签,如迭代、条件判断、URL处理等。在遍历方面,`&lt;c:forEach&gt;`标签是最常用的一个。 2. `&lt;c:...

    jstl标签库3

    本文主要关注 JSTL 中的迭代标签,特别是 `&lt;c:forEach&gt;` 和 `&lt;c:forTokens&gt;`,并以具体示例进行详细说明。 #### 二、JSTL 迭代标签概述 在 JSP 页面中,迭代通常是必不可少的操作之一,尤其是在处理列表数据时。...

    JAVAWEBjsp通用标签与迭代标签

    以下是关于`&lt;c:forEach&gt;`、`&lt;c:out&gt;`、`&lt;c:set&gt;`和`&lt;c:remove&gt;`这四个JSP标签的详细解释。 1. `&lt;c:forEach&gt;`:这是JSP中的迭代标签,用于遍历集合或数组。它可以在HTML或其他内容中重复渲染一段代码。例如,如果你...

    jsp中常见的一些标签应用

    `c:forEach` 标签与 `c:forEach` 的 `varStatus` 属性 `varStatus`属性提供了一些额外的信息,如当前元素的位置、是否是第一个或最后一个等。 示例: ``` &lt;c:forEach items="${arry1}" var="e" varStatus="status...

    JavaWeb开发技术-Core标签库.pptx

    以下是Core标签库中几个关键标签的详细解释: 1. **&lt;c:out&gt;** 标签: - `&lt;c:out&gt;`标签用于在客户端输出文本内容或表达式的结果。它可以避免直接使用`&lt;%= %&gt;`表达式带来的XSS攻击风险,因为默认情况下,它会自动对...

    JSP JSTL 标签库详解 (一个不漏)

    本文将对 JSTL 标签库进行详细的解释,涵盖 catch、choose、forEach、forTokens、if、import、otherwise、out、param、redirect、remove、set 和 url 等标签。 catch 标签: catch 标签用于捕获 JSP 元素在其体中...

Global site tag (gtag.js) - Google Analytics