<c:forEach>详解
来源:互联网 发布:神知第二季720百度云 编辑:程序博客网 时间:2024/06/07 00:56
<c:forEach>标签用于通用数据循环,它有以下属性
属 性描 述是否必须缺省值items进行循环的项目否无begin开始条件否0end结束条件否集合中的最后一个项目step步长否1var代表当前项目的变量名否无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 详解
- c:foreach 详解
- c:forEach 详解
- c:foreach 详解
- c:foreach 详解
- <c:forEach>标签详解
- <c:forEach 详解
- <c:forEach 详解
- <c:forEach>标签详解
- <c:forEach 详解
- <c:forEach>详解
- <c:forEach>详解
- <c:forEach>详解
- <c:forEach>详解
- <c:forEach>详解
- <c:forEach>详解
- <c:forEach 详解
- c:forEach 详解
- 6、多个线程的共享数据
- CentOS6.4 配置iptables
- 汇编语言: 设有 10 个学生的成绩分别是 76,69,84,90,73,88,99,63,100 和 80 分。试编 制一个子程序统计 60-69 分,70-79 分,80-89 分,90-99 分
- Canvas-开始玩svg
- 牛腩系统-分页
- <c:forEach>详解
- 汇编语言: 编写子程序嵌套结构的程序,把整数分别用二进制和八进制形式显示出来。
- spring.xml
- Maven项目的目录结构
- JAVA编程基础之内部类的简单使用
- python中的csv模块
- 汇编语言: 主程序 BANDO:把整数字变量 VAL1 存入堆栈,并调用子程序 PAIRS;子程序 PAIRS:从 堆栈中取出 VAL1,调用二进制显示程序 OUTBIN 显示出与其等效的二进制数,输
- HDU 2003 求绝对值 C语言课本习题 基础题
- repo sync同步出错问题