<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">
<tr <c:if test="${status.count%2==0}">bgcolor="#CCCCFE" </c:if> align="left">
xxx </tr>
</c:forEach>
分享到:
相关推荐
<c:forEach [var="varName"] items="collection" [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]> 本体内容 </c:forEach> ``` ### 语法 2:迭代指定的次数 ``` <c:forEach [var="var...
本文主要关注 JSTL 中的迭代标签,特别是 `<c:forEach>` 和 `<c:forTokens>`,并以具体示例进行详细说明。 #### 二、JSTL 迭代标签概述 在 JSP 页面中,迭代通常是必不可少的操作之一,尤其是在处理列表数据时。...
#### 参数说明: - **var**:定义一个变量,用来存储当前迭代项。 - **items**:指定要遍历的对象。它可以是任何类型,只要该类型支持迭代即可。 - **varStatus**:定义一个变量来存储迭代状态信息。 - **begin**:...
3. **循环标签**:包括`<c:forEach>` 和 `<c:forTokens>`。这些标签用于循环处理数据集。 - `<c:forEach>`:遍历集合或数组。 - `<c:forTokens>`:基于分隔符分割字符串并迭代。 4. **URL操作标签**:包括`<c:...
3.使用JSTL的<c:forEach>标签取代Category.isp和Produetjsp中的for循环语句。 (1)参考教材完成使用JSTL的<c:forEach>标签取代Category.jsp的for循环语句。 (2)自已完成使用JSTL的<c:forEach>标签取代Productjsp中的...
<c:forEach begin="1" end="100" step="2" var="i">${i }</c:forEach> <!-- ArrayList示例 --> ArrayList<String> users = new ArrayList(); users.add("user1"); users.add("user2"); pageContext....
例如,使用JSTL的`c:forEach`遍历数据,使用`fmt:formatNumber`处理页码: ```jsp <c:forEach items="${dataList}" var="data"> <!-- 输出数据 --> </c:forEach> <!-- 分页导航 --> <c:set var="totalPages...
其中,<c:forEach>标签是JSTL中用于迭代集合对象的一个重要标签。本文将详细介绍如何在Javaweb中使用JSTL的<c:forEach>标签循环List中的Map数据,并通过具体的代码示例解释其工作原理。 首先,我们考虑一个常见的...
4. **c**: 最常用的核心标签库,包含条件语句(if、choose、when、otherwise)、循环(forEach、forTokens)、迭代器(iterators)、URL操作等。 5. **xml**: 处理XML文档,支持XPath表达式。 **三、JSTL核心标签库...
1. **Core**:这是最基本的组件,提供了一系列的控制流标签,如迭代(`<c:forEach>`)、条件语句(`<c:if>`、`<c:choose>`)、URL重写(`<c:url>`)等。 2. **I18N & Format**:国际化和格式化组件,支持日期、时间...
例如`<c:forEach>`用于遍历集合,`<c:if>`和`<c:choose>`用于条件判断,`<c:set>`和`<c:remove>`用于变量管理。 2. **XML库**(JSTL XML,也称为fx):这个库提供了处理XML文档的功能,如解析、转换和输出XML数据。...
- 遍历集合:`<c:forEach var="varName" items="collection" varStatus="varStatusName" [begin="begin"] [end="end"] [step="step"> Body </c:forEach>` - 循环指定次数:`<c:forEach var="varName" [varStatus...
<c:forEach items="${dataList}" var="item"> <!-- 渲染每行数据 --> <tr><td>${item.field1}</td><td>${item.field2}</td></tr> </c:forEach> <!-- 分页导航 --> <c:if test="${currentPage > 1}"> ${...
可以使用JSTL(JavaServer Pages Standard Tag Library)库中的`c:forEach`标签遍历数据,以及`fmt:formatNumber`进行页码格式化。 ```jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> ...
以下是一些核心标签的详细说明: 1. **<c:out>**:此标签用于输出变量或表达式的结果,可以防止跨站脚本攻击(XSS)。例如: ```jsp <c:out value="${expression}"/> ``` 2. **<c:set>**:这个标签用于设置变量...
- `<c:forEach>` 和 `<c:forTokens>`:循环处理集合或字符串。 - `<c:url>` 和 `<c:param>`:创建URL并添加参数。 - `<c:redirect>` 和 `<c:forward>`:页面重定向和请求转发。 **2. JSTL I18N和Format标签库** ...
在这里,`${cartItems}`是一个服务器端传来的购物车项目集合,`<c:forEach>`标签遍历并展示每个项目的名称和价格。 总之,访问当当购物车页面节点涉及HTML元素的理解、DOM操作以及JSP的服务器端逻辑处理。通过熟练...
<c:forEach begin="1" end="${pageBean.totalPages}" var="pageNum"> <c:choose> <c:when test="${pageNum eq pageBean.currentPage}"> ${pageNum} </c:when> <c:otherwise> ${pageNum}">${pageNum} </c:...
例如`<c:if>`、`<c:forEach>`、`<c:set>`和`<c:redirect>`等。 2. **fmt**:提供了国际化和格式化支持,如日期和数字的格式化,以及语言环境的切换。 3. **fn**:函数库标签,提供了一系列实用的函数,如字符串...
<c:forEach var="item" items="${list}" varStatus="status"> <p>Item ${status.count}: ${item} </c:forEach> ``` #### 六、资源获取 - **官方下载地址**:...