`
liqita
  • 浏览: 287434 次
  • 性别: 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的各种用法

    &lt;c:foreach 中各种标签属性的用法,特别是varStatus的巧用

    第8章 JSTL.ppt

    forEach标签可以将集合中的成员遍历一遍,通过items属性指定一个集合,var属性指明集合中的一个成员,可以通过var属性指定的变量来访问集合中的成员。 实例 爱好:&lt;c:forEach items="${paramValues.Habit}" var=...

    jsp+javaBean+servlet分页

    这是一个jsp+javaBean+servlet分页 主要功能 是通过 jstl标签中的 &lt;c:forEach 中的开始 begin和末尾end、list结果集的items属性 操作整个分页。大家有兴趣看看

    基于工作任务的Java+Web应用教程第五章任务1-5.zip

    3.使用JSTL的&lt;c:forEach&gt;标签取代Category.isp和Produetjsp中的for循环语句。 (1)参考教材完成使用JSTL的&lt;c:forEach&gt;标签取代Category.jsp的for循环语句。 (2)自已完成使用JSTL的&lt;c:forEach&gt;标签取代Productjsp中的...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    13.3.7、&lt;c:forEach&gt;标签 13.3.8、&lt;c:forTokens&gt;标签 13.3.9、&lt;c:import&gt;标签 13.3.10、&lt;c:url&gt;标签 13.3.11、&lt;c:redirect&gt;标签 13.4、国际化标签库 13.4.1、&lt;fmt:setLocale&gt;标签 13.4.2、&lt;fmt:...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    13.3.7、&lt;c:forEach&gt;标签 13.3.8、&lt;c:forTokens&gt;标签 13.3.9、&lt;c:import&gt;标签 13.3.10、&lt;c:url&gt;标签 13.3.11、&lt;c:redirect&gt;标签 13.4、国际化标签库 13.4.1、&lt;fmt:setLocale&gt;标签 13.4.2、&lt;fmt:...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    13.3.7、&lt;c:forEach&gt;标签 13.3.8、&lt;c:forTokens&gt;标签 13.3.9、&lt;c:import&gt;标签 13.3.10、&lt;c:url&gt;标签 13.3.11、&lt;c:redirect&gt;标签 13.4、国际化标签库 13.4.1、&lt;fmt:setLocale&gt;标签 13.4.2、&lt;fmt:...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    13.3.7、&lt;c:forEach&gt;标签 13.3.8、&lt;c:forTokens&gt;标签 13.3.9、&lt;c:import&gt;标签 13.3.10、&lt;c:url&gt;标签 13.3.11、&lt;c:redirect&gt;标签 13.4、国际化标签库 13.4.1、&lt;fmt:setLocale&gt;标签 13.4.2、&lt;fmt:...

    java web 视频、电子书、源码(李兴华老师出版)

    13.3.7、&lt;c:forEach&gt;标签 13.3.8、&lt;c:forTokens&gt;标签 13.3.9、&lt;c:import&gt;标签 13.3.10、&lt;c:url&gt;标签 13.3.11、&lt;c:redirect&gt;标签 13.4、国际化标签库 13.4.1、&lt;fmt:setLocale&gt;标签 13.4.2、&lt;fmt:...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    13.3.7、&lt;c:forEach&gt;标签 13.3.8、&lt;c:forTokens&gt;标签 13.3.9、&lt;c:import&gt;标签 13.3.10、&lt;c:url&gt;标签 13.3.11、&lt;c:redirect&gt;标签 13.4、国际化标签库 13.4.1、&lt;fmt:setLocale&gt;标签 13.4.2、&lt;fmt:...

    李兴华 Java Web 开发实战经典 高清扫描版Part3

    13.3.7、&lt;c:forEach&gt;标签 13.3.8、&lt;c:forTokens&gt;标签 13.3.9、&lt;c:import&gt;标签 13.3.10、&lt;c:url&gt;标签 13.3.11、&lt;c:redirect&gt;标签 13.4、国际化标签库 13.4.1、&lt;fmt:setLocale&gt;标签 13.4.2、&lt;fmt:...

    EL表达式 (详解)

    pageContext取得其他有关用户要求或页面的详细信息。 ${pageContext.request.queryString} 取得请求的参数字符串 ${pageContext.request.requestURL} 取得请求的URL,但不包括请求之参数字符串 ${...

    李兴华Java Web开发实战经典(高清版) Part2

    13.3.7、&lt;c:forEach&gt;标签 13.3.8、&lt;c:forTokens&gt;标签 13.3.9、&lt;c:import&gt;标签 13.3.10、&lt;c:url&gt;标签 13.3.11、&lt;c:redirect&gt;标签 13.4、国际化标签库 13.4.1、&lt;fmt:setLocale&gt;标签 13.4.2、&lt;fmt:...

    KnockoutJS 3.X API 第四章之数据控制流foreach绑定

    foreach绑定主要用于循环展示监控数组属性中的每一个元素,一般用于table标签中 假设你有一个监控属性数组,每当您添加,删除或重新排序数组项时,绑定将有效地更新UI的DOM-插入或去除相关项目或重新排序现有的DOM...

    SpringBoot_Freemarker生成Word_多个表格+两层嵌套循环

    (userList是集合在dataMap中的key, user是集合中的每个元素, 类似&lt;c:forEach items='userList' var='user'&gt;), 如图: PLUS:若表格之外还有嵌套的循环,也需要用&lt;#list table as map&gt;&lt;/#list&gt;,注意这里的&lt;#list&gt;...

    用word书签替换的方式将网页内容导出到word

    首先当然是定义word模板,在需要替换的地方加上标签。 菜单-插入-书签,输入属性名,如year,date,pic1,voList等等。 打印页面: 需要把打印的数据从后台取出,以单个vo(一个对象)为一组,或以voList(对象的列表...

    jsp简单自定义标签的forEach遍历及转义字符示例

    首先还是创建一个标签处理器类,定义两个属性,String var; Object items; 因为items要迭代各种集合,所以要使用Object; 然后重写setter方法; 声明一个成员变量,集合类型的, 和上面两个属性是不相同的,这个是...

    潍坊学院成人教育Java-Web程序设计B卷试卷及参考答案.doc

    超链接标签的 属性用来指定链接地址。 2. mvc思想中,M是 ,V是 ,C是controller。 3. JSP页面中的6个基本元素包括指令、 、 表达式、动作标签和注释。 4. 和 是Servlet处理完数据后进行跳转的两种方式。 5. 在...

    C#编程规范文档 详细

    3.3 类C注释 10 3.4 单行注释 10 3.5 注释标签 10 第四章 申明 14 4.7 每行声明数 14 4.8 初始化 14 4.9 位置 14 4.10 类和接口的声明 15 4.11 字段的声明 15 第五章 命名规范 16 5.7 命名概述 16 5.8 大小写规则 ...

Global site tag (gtag.js) - Google Analytics