C标签之forEach

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

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

varStatus 属性

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,布布扣,bubuko.com

时间: 2024-08-23 03:18:40

C标签之forEach的相关文章

标签处理器类(自定义标签)ForEach

该处理器的 父类  javax.servlet.jsp.tagext.SimpleTagSupport public class ForEach extends SimpleTagSupport { private Collection<?> items; public void setItems(Collection<?> items) { this.items = items; } private String var; public void setVar(String va

JSP标签c forEach实例

JSP标签c:forEach实例 1.实例源码 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%> <!DOCTYPE html PUBLIC "-//W3C/

JSP标签c forEach报错(一)

1.jsp标签c:forEach报错,具体错误如下: 三月 31, 2014 9:31:14 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet [jsp] in context with path [/HighCharts] threw exception [Unable to compile class for JSP: An error occurred at l

jsp标签&lt;c:forEach&gt;取出传递参数注意

运行书里的代码,其中servlet可以通过以下两个方式向jsp传参数: 1.         request.getSession().setAttribute("productList",productList); response.sendRedirect("displayAllProduct_3.jsp"); 2. request.setAttribute("productList", productList); RequestDispat

随笔-c标签的foreach 遍历的条数

<c:forEach items="${map}" var="m" varStatus="status">         <tr>          <td width="193" height="77">          <div class="tra_tx1 tra_tx4" id="changeColorForNum${sta

JSTL自定义标签 实现forEach循环支持集合.数组

java代码实现 tld配置 JSP页面代码

【JSTL】--JSTL表达式:c:forEach,varstatus/begin end/循环控制标签--drp215

jstl_core.jsp <%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ page import="

mybatis forEach标签item影响其他标签判断的问题

mapper.xml文件中,多个标签中存在属性中使用同名变量,若前边的标签修改了变量的值,则前边的标签可能会影响后边的标签(一般是forEache标签影响后边标签),示例: 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org

JSTL标签 使用总结,foreach

最近开发一个网站,经常使用JSTL,这种语法与以前的不同,开始用着非常吃力,今天总结一下,供大家参考. 一.前言 JSTL全名为JavaServer Pages Standard Tag Library,JSTL是由JCP(Java Community Process)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签函数库. 二.导入使用 2.1 在pom.xml里面添加jar包 <!-- JSTL --> <dependency> <groupId&