forEach 中的循环状态变量|学习笔记

简介: 快速学习 forEach 中的循环状态变量,介绍循环状态及总结。

开发者学堂课程【JSP 快速入门:forEach 中的循环状态变量】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/33/detail/736


forEach 中的循环状态变量


内容简介:

1.循环状态

2.总结

 

1.循环状态

forEach 标签还有一个属性: varStatus,这个属性用来指定接收“循环状态“的变量名,例如:<forEach varStatus="vs" …/>,这时就可以使用vs这个变量来获取循环的状态了。

●count:int 类型,当前以遍历元素的个数;

●index:int 类型,当前元素的下标;

●first:boolean类型,是否为第一个元素;

●last:boolean类型,是否为最后一个元素;

●current:Object 类型,表示当前项目。

<c:forEach var="item" items="${ns }" varStatus="vs ">

<c:if test="${vs.first }>第一行: </c:if>

<c:if test="${vs.last }”>最后一行: </c:if>

<c:out value="第${vs.count }行: "/>

<c:out value=" ${vs.index }: "/>

<c:out value="name: ${vs.current }”/><br/>

</c:forEach>

1)演示代码如下:

<br/>

<%

ArrayList<String> list =new ArrayList<String>();

list.add("一") ;

list.add("二") ;

list.add("三");

pageContext . setAttribute ("list", list);

%>

<c:forEach items="${list }" var="ele”>

${ele } <br/>

</c:forEach>

2)创建循环变量的代码如下:

<hr/>

<%

ArrayList<String> list =new ArrayList<String>();

list.add("一") ;

list.add("二") ;

list.add("三");

pageContext . setAttribute ("list", list);

%>

<c:forEach items="${list }" var="ele”varStatus=“vs”>

${vs.count } <br/>

</c:forEach>

其中,count 表示循环了几个元素。

执行结果如下:

1

2

3

3)代码中加入index:

<c:forEach items="${list }" var="ele”varStatus=“vs”>

${vs.index} ${vs.count } <br/>

Index 表示当前元素的下标,第一个元素的下标是0,当遍历第一个元素的时候,遍历了一个元素,所以执行结果如下:

0 1

1 2

2 3

4)再加入 first、last,代码如下:

<c:forEach items="${list }" var="ele”varStatus=“vs”>

${vs.index} ${vs.count } ${vs.first } ${vs.last } <br/>

执行结果如下:

0 1 true false

1 2 false false

2 3 false true

如果现在把这几个被遍历的元素打印出来,中间用逗号隔开,那么最后一个元素后面就不用加逗号了,可以用 last 去判断。

5)最后加入current,当前对象,代码如下:

<c:forEach items="${list }" var="ele”varStatus=“vs”>

${vs.index} ${vs.count } ${vs.first } ${vs.last } ${vs.current }<br/>

执行结果如下:

0 1 true false一

1 2 false false 二

2 3 false true 三


2.总结

可以使用 varstatus 来创建循环状态变量

循环状态变量有如下属性:

* count:循环元素的个数

* index:循环元素的下标

* first:是否为第一个元素

* last:是否为最后一个元素

* current:当前元素

<c:forEach items="${list }" var="ele" varStatus"vs">${vs.index} ${vs.count } ${vs.first } ${vs.last } ${vs.current }<br/>

</c: forEach>

相关文章
|
Java 中间件 应用服务中间件
Servlet容器与Web容器详解
Servlet容器与Web容器详解
504 0
|
SQL druid Java
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)(上)
JDBC技术【分页查询、数据库连接池、应用程序分层、封装通用的BaseDao】(四)-全面详解(学习总结---从入门到深化)
360 0
|
JavaScript 前端开发 开发者
jQuery 下载与快速入门指南
jQuery 下载与快速入门指南
738 0
|
Java
Java“NumberFormatException”解决
当尝试将字符串转换为数字时,若字符串格式不正确,则会抛出“NumberFormatException”。解决方法:1. 检查字符串是否为空或仅包含空白字符;2. 确保字符串中的字符都是数字;3. 使用异常处理捕获并处理该异常。
680 1
Java 异常处理下篇:11 个异常处理最佳实践
本文深入探讨了 Java 异常处理的最佳实践,包括早抛出晚捕获、只捕获可处理的异常、不要忽略捕获的异常、抛出具体检查性异常、正确包装自定义异常、记录或抛出异常但不同时执行、避免在 `finally` 块中抛出异常、避免使用异常进行流程控制、使用模板方法处理重复的 `try-catch`、尽量只抛出与方法相关的异常以及异常处理后清理资源。通过遵循这些实践,可以提高代码的健壮性和可维护性。
300 4
|
自然语言处理 达摩院 数据挖掘
[大语言模型-论文精读] 阿里巴巴-通过多阶段对比学习实现通用文本嵌入
[大语言模型-论文精读] 阿里巴巴-通过多阶段对比学习实现通用文本嵌入
|
网络协议 C#
C#:简化版的实现断点续传功能
C#:简化版的实现断点续传功能
232 0
|
网络协议 Java 数据库连接
13 Java异常(异常过程解析、throw、throws、try-catch关键字)
13 Java异常(异常过程解析、throw、throws、try-catch关键字)
318 2
|
存储 安全 Java
Java中的反射机制及其应用场景详解
Java中的反射机制及其应用场景详解
|
JSON Java API
实战 | JAVA读取WORD,包含表格。
我们有这样一个需求,需要抽取出WORD文档中的内容,然后组装成特定的json格式发送给第三方引擎接口
2154 0