`

JSP标签库(jstl )详解之一<c:forEach>

    博客分类:
  • jsp
阅读更多

<c:forEach>标签用于通用数据循环,它有以下属性

属 性 描 述 是否必须 缺省值
items 进行循环的项目
begin 开始条件 0
end 结束条件 集合中的最后一个项目
step 步长 1
var 代表当前项目的变量名
varStatus 显示循环状态的变量

vaStatus 属性

JSTL中的varStatus和 var 属性一样, varStatus 用于创建限定了作用域的变量。不过,由 varStatus 属性命名的变量并不存储当前索引值或当前元素,而是赋予 javax.servlet.jsp.jstl.core.LoopTagStatus 类的实例。该类定义了一组特性,它们描述了迭代的当前状态,下面列出了这些特性:

特性         Getter                       描述current    getCurrent()           当前这次迭代的(集合中的)项

index       getIndex()               当前这次迭代从 0 开始的迭代索引

count       getCount()             当前这次迭代从 1 开始的迭代计数

first          isFirst()                  用来表明当前这轮迭代是否为第一次迭代的标志

last          isLast()                  用来表明当前这轮迭代是否为最后一次迭代的标志

begin      getBegin()             begin 属性值

end         getEnd()                 end 属性值

step        getStep()                step 属性值

c:forEach 中vaStatus的属性可以获得迭代的自身状态,如:
<c:forEach var=”" items=”" varStatus=”status”>
<c:out value=”${status.current}”/> 当前对象
<c:out value=”${status.index}”/> 此次迭代的索引
<c:out value=”${status.count}”/> 已经迭代的数量
<c:out value=”${status.first}”/> 是否是第一个迭代对象
<c:out value=”${status.last}”/> 是否是最后一个迭代对象
</c:forEach>

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

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

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

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

java.util.Enumeration:枚举元素。

Object实例数组:数组元素。

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

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

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

 

 

<%
   response.setCharacterEncoding("GB2312");
   ArrayList student = (ArrayList)request.getAttribute("list");
   int size = student.size();
   for(int i = 0;i<size;i++)
   {
    Student stu = (Student)student.get(i);
    out.println("SID="+stu.getSid());
    out.println("SName="+stu.getSname());
    out.println("Score="+stu.getScore());
   } 
%>

将以上代码片段用JSTL改写:

<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>

<body>
   <table>
    <c:forEach var="stu" items="${list}">
     <tr>
      <td>
       SID=${stu.sid}
      </td>
      <td>
       SName=${stu.sname}
      </td>
      <td>
       Score=${stu.score}
      </td>
     </tr>
    </c:forEach>
   </table>
</body>
</html>

分享到:
评论

相关推荐

    c:foreach的各种用法

    在JSP(JavaServer Pages)开发中,`&lt;c:forEach&gt;` 是一个非常重要的标签,它属于JSTL(JavaServer Pages Standard Tag Library)的一部分,主要用于循环处理集合、数组等数据结构。相较于传统的JSP Scriptlets,使用...

    JSTL详解--Core 标签库介绍

    **JSTL详解--Core标签库介绍** JavaServer Pages(JSP)标准标记库(JSTL)是一个关键的工具,旨在减少JSP页面中的脚本元素,提高代码的可维护性和可读性。JSTL包含了一系列定制的标记库,用于实现常见的Web应用...

    JSTL 标签库 jsp C 标签库

    **JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库)是Java社区为了简化JSP开发而提出的一个标准,它提供了一系列的标签来处理常见的任务,如迭代、条件判断、XML处理等,旨在减少Java代码在JSP页面中...

    JSTL详解--jsp页面编写规范详解

    ### JSTL详解—JSP页面编写规范 #### 概述 JSTL(JSP Standard Tag Library,JSP标准标签库)是一种被广泛应用于JavaServer Pages (JSP) 页面中的标准化标签库,旨在简化JSP页面开发过程,提高代码可读性和可维护...

    JSTL 核心标签库 使用

    本文将深入探讨JSTL的核心标签库(core tag library),主要包括`&lt;c:set&gt;`、`&lt;c:remove&gt;`、`&lt;c:catch&gt;`、`&lt;c:if&gt;`、`&lt;c:choose&gt;`以及`&lt;c:forEach&gt;`等标签的使用。 1. `&lt;c:set&gt;`标签: `&lt;c:set&gt;`用于设置变量的值,...

    JSTL核心标签库的一些应用

    以上只是JSTL核心标签库的一部分功能,实际应用中还有更多标签,如循环标签`&lt;c:forEach&gt;`、迭代标签`&lt;c:forTokens&gt;`等。这些标签在处理数据、控制流程等方面提供了极大的便利,使得JSP页面更加简洁、易读,也更符合...

    JSP之JSP标签库详解

    在Duke's Bookstore应用程序的例子中,JSTL被用来替换Struts的逻辑标签,使用`&lt;c:forEach&gt;`和`&lt;c:if&gt;`进行迭代和条件判断,`&lt;fmt:message&gt;`处理国际化,`&lt;sql:query&gt;`和`&lt;sql:update&gt;`处理数据库操作。这个例子展示...

    jsp,JSTL标签库大全

    例如,`&lt;c:out&gt;`用于输出值,`&lt;c:set&gt;`用于设置变量,`&lt;c:if&gt;`和`&lt;c:choose&gt;`用于条件判断,`&lt;c:forEach&gt;`用于循环。 2. **国际化标签库(I18N Tags)**:支持多语言环境,如`&lt;fmt:bundle&gt;`和`&lt;fmt:message&gt;`用于...

    JSTL标签基本用法详解

    JavaServer Pages Standard Tag Library (JSTL) 是一个标准的标签库,用于简化JSP页面中的Java代码,提高可读性和可维护性。本篇将详细介绍JSTL中的一些核心标签及其用法。 1. `&lt;c:out&gt;` `&lt;c:out&gt;` 标签用于在JSP...

    jstl标签详解jstl标签详解jstl标签详解

    **JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中的一个重要组成部分,它为JSP页面提供了一套标准的标签,用于简化页面逻辑,提高代码可读性和可维护性。JSTL主要包含五个核心标签库:Core...

    jsp标签 JSTL 小资料

    JSTL,即JavaServer Pages Standard Tag Library,是JSP标准标签库的一部分,它提供了一组丰富的预定义标签,用于简化常见的Web开发任务,如条件处理、循环、国际化、URL操作等。通过使用JSTL,开发者可以避免编写...

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

    JSP JSTL 标签库详解 JSTL(JavaServer Pages Standard Tag Library)是 Java EE 应用程序中的一种标签库,用于简化 JSP 页面的开发。JSTL 标签库提供了一组丰富的标签,用于处理各种常见的 Web 开发任务。本文将对...

    JSTL标签使用总结

    本文将详细介绍JSTL中的核心标签:&lt;c:if&gt;、&lt;c:choose&gt;、&lt;c:forEach&gt;、&lt;c:forTokens&gt;、&lt;c:catch&gt;、&lt;c:remove&gt;、&lt;c:set&gt;、&lt;c:import&gt;、&lt;c:redirect&gt;、&lt;c:url&gt;以及与之相关的&lt;fmt&gt;标签库。 #### 1. &lt;c:if&gt; &lt;c:if&gt;标签...

    JSTL标签 参考手册

    `&lt;c:forEach&gt;`标签是最常用的JSTL标签之一,用于遍历集合、数组或迭代指定次数。 #### 语法说明 1. **迭代集合**: ```html &lt;c:forEach items="collection" var="varName" [varStatus="varStatusName"] ...

    jstl c标签jar包

    C标签库是JSTL的一部分,它包含了类似于Java语言的循环和条件语句的标签,如`&lt;c:forEach&gt;`、`&lt;c:if&gt;`、`&lt;c:choose&gt;`等。这些标签使得JSP开发者能够更清晰地组织代码,而不是直接在页面上写Java脚本。例如,`&lt;c:...

    Core标签库详解

    在Java Web开发中,`Core`标签库是JSTL(JavaServer Pages Standard Tag Library)的一部分,它提供了一系列用于处理常见任务的标签,比如控制流程、迭代、输出文本等。这个标签库极大地简化了Java Web应用程序的...

    JSTL详解,一份很不错的JSTL学习文档

    `&lt;c:forEach&gt;`用于遍历集合、数组或迭代器,是JSTL中最常用的标签之一。 **第八节:用于分隔字符的&lt;c:forTokens&gt;标签** `&lt;c:forTokens&gt;`根据分隔符将字符串拆分为多个部分,然后对每个部分进行处理。 **第九节:...

    jstl标签库3

    通过以上介绍和示例可以看出,JSTL 的 `&lt;c:forEach&gt;` 标签提供了一种简洁且强大的方式来处理迭代操作,极大地提高了 JSP 页面的可读性和可维护性。掌握这些标签的使用方法对于提高 JSP 应用程序的开发效率至关重要。

    JSTL详解

    在JSP页面中,你可以使用这些标签来实现逻辑控制和数据操作,比如在示例的`first_jstl.jsp`中,设置了变量`userName`和`age`,并用`&lt;c:out&gt;`输出变量值,用`&lt;c:forEach&gt;`进行迭代,以及用`&lt;c:if&gt;`进行条件判断。...

Global site tag (gtag.js) - Google Analytics