`

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>/jstl-1.2

    &lt;c:forEach&gt; 为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行&lt;c:forEach&gt;的本体内容。 语法 语法1:迭代一集合对象之所有成员 &lt;c:forEach [var="varName...

    JSTL标准标签库 <C:out>、<c:set>、<c:remove>和<c:catch>标记 <c:if>、<c:choose>、<c:when>和<c:otherwise>标记 <c:forEach>和<c:forTokens>标记

    ◎ JSTL的基本概念、安装与配置...◎ JSTL的通用标记:&lt;c:out&gt;、&lt;c:set&gt;、&lt;c:remove&gt;和&lt;c:catch&gt;标记 ◎ 条件处理标记:&lt;c:if&gt;、&lt;c:choose&gt;、&lt;c:when&gt;和&lt;c:otherwise&gt;标记 ◎ 循环标记:&lt;c:forEach&gt;和&lt;c:forTokens&gt;标记

    JSTL中if标签使用方法

    &lt;c:if&gt; &lt;c:if&gt;的用途就和我们一般在程序中用的if一样。  语法  语法1:没有本体内容(body)  &lt;c:if test="testCondition" var="varName" [scope="{page|request|session|application}"]/&gt;  语法2:有本体内容  ...

    JSTL开发使用手册

    用于循环的 &lt;c:forEach&gt;?标签 用于分隔字符的 &lt;c:forTokens&gt;?标签? 用于包含页面的 &lt;c:import&gt; 用于得到 URL?地址的 &lt;c:url&gt;?标签? 用于页面重定向的 &lt;c:redirect&gt;?标签? 用于包含传递参数的?&lt;c:param&gt; 标签?.

    struts_jstl

    inf/lib下即可(如只使用EL表达式,无需引用这两个包)&lt;br&gt;&lt;br&gt;2、在jsp页面头部引入taglib方法如下:&lt;br&gt; &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core " %&gt;&lt;br&gt; &lt;%@ taglib prefix="fmt" uri=...

    第8章 JSTL.ppt

    爱好:&lt;c:forEach items="${paramValues.Habit}" var="habit"&gt; ${habit} &lt;/c:forEach&gt; 如果字符串是由逗号分隔的一组值,forEach也支持将其分割 &lt;c:forEach items="Monday,Tuesday,Wednesday" var="week"&gt; ${...

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

    (1)参考教材完成使用JSTL的&lt;c:forEach&gt;标签取代Category.jsp的for循环语句。 (2)自已完成使用JSTL的&lt;c:forEach&gt;标签取代Productjsp中的for循环语句。 4.参考教材完成ShowCategoryServlet并相应修改Category.jsp. 5....

    jsp+javaBean+servlet分页

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

    JSTL标签大全

    核心标签库 http://java.sun.com/jstl/core c &lt;c:tagname…&gt; 国际化标签(I18N) http://java.sun.com/jstl/fmt fmt &lt;fmt:tagname…&gt; SQL标签库 ...

    简单的一个学生管理系统 servlet+JSP

    &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;My JSP 'queryStudent.jsp' starting page&lt;/...

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

    5.2.1、第一种Scriptlet:&lt;%%&gt; 5.2.2、第二种Scriptlet:&lt;%!%&gt; 5.2.3、第三种Scriptlet:&lt;%=%&gt; 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、...

    数据库分页脚本 jsp

    &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%&gt; &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt; &lt;title&gt;ʽ&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;script type=...

    JSP程序设计与案例实战

    forward&gt;,&lt;jsp:param&gt;,&lt;jsp:setProperty&gt;,&lt;jsp:plugin&gt;,&lt;jsp:include&gt;,&lt;jsp:useBean&gt;,&lt;jsp:getProperty&gt;)、JSP中使用数据库(JDBC常用API)、JSTL的配置步骤、核心标签库的使用、Servlet的实现、ServletAPI、...

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

    5.2.1、第一种Scriptlet:&lt;%%&gt; 5.2.2、第二种Scriptlet:&lt;%!%&gt; 5.2.3、第三种Scriptlet:&lt;%=%&gt; 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、...

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

    5.2.1、第一种Scriptlet:&lt;%%&gt; 5.2.2、第二种Scriptlet:&lt;%!%&gt; 5.2.3、第三种Scriptlet:&lt;%=%&gt; 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、...

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

    5.2.1、第一种Scriptlet:&lt;%%&gt; 5.2.2、第二种Scriptlet:&lt;%!%&gt; 5.2.3、第三种Scriptlet:&lt;%=%&gt; 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、...

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

    5.2.1、第一种Scriptlet:&lt;%%&gt; 5.2.2、第二种Scriptlet:&lt;%!%&gt; 5.2.3、第三种Scriptlet:&lt;%=%&gt; 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、...

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

    5.2.1、第一种Scriptlet:&lt;%%&gt; 5.2.2、第二种Scriptlet:&lt;%!%&gt; 5.2.3、第三种Scriptlet:&lt;%=%&gt; 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、...

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

    5.2.1、第一种Scriptlet:&lt;%%&gt; 5.2.2、第二种Scriptlet:&lt;%!%&gt; 5.2.3、第三种Scriptlet:&lt;%=%&gt; 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、...

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

    5.2.1、第一种Scriptlet:&lt;%%&gt; 5.2.2、第二种Scriptlet:&lt;%!%&gt; 5.2.3、第三种Scriptlet:&lt;%=%&gt; 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、...

Global site tag (gtag.js) - Google Analytics