JSTL之forEach的使用详解(简单的技术说得很详细)
2015-04-06 09:41
393 查看
在使用JSTL的核心标签库forEach之前,首先需要在JSP中通过taglib指令引入核心标签库:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
一、基本使用
标签用于遍历集合中的对象,并能重复执行标签主体内容。它的基本用法如下所示:
主体内容
标签每次从items的集合中取出一个元素,并把它存放在只能标签内部才能访问的范围中,并用var的取值作为引用名称,通过该名称可以在标签主体内访问当前遍历的元素。
例如下方代码创建了一个List集合,然后通过
遍历集合,并把集合中的元素打印到页面上:
运行以上代码,得到的显示结果为“Itcast Itheima”。以上标签代码等价于以下Java程序片段:
第一段和第三段Java程序片段完成标签的任务,即在每一次循环中,从list中取出一个元素,把它作为e命名变量存在页面范围内,接着执行标签的主体内容,然后从页面范围内删除该变量,从而确保只有标签主体内容才能访问e变量。
二、标签的varStatus属性
varStatus属性用于指定一个变量,引用一个javax.servlet.jsp.jstl.core.LoopTagStatus类型的对象,该对象只能在标签内部通过指定的变量名称来访问,它包含了从集合中取出的当前元素的状态信息。
count:当前元素在集合中的序号,从1开始计数。
index:当前元素在集合中的索引,从0开始计数。
first:当前元素是否是集合中的第一个元素。
last:当前元素是否是集合中的最后一个元素。
以下代码演示了使用了varStatus属性的标签:
以上代码的展现结果如下图所示:
三、标签的begin、end和step属性
bengin属性:指定循环的起始索引。
end属性:指定循环的结束索引。
step属性:指定步长。
以下代码用于循环遍历List集合,输出索引从1到4的元素:
以上代码的打印结果为“index1 index2 index3 index4”。
如果没有为标签设置items属性,那么就直接把每次循环的索引赋值给var指定的命名变量。如下打印的结果为"1 3 5 7 9"
四、标签可以遍历的对象
可以遍历的对象包括:
java.util.set、java.util.List、java.util.Map、java.util.Iterator和java.util.Enumeration接口的实现类。
Java数组。
以逗号分隔的字符串。
以下代码遍历Map类型的集合:
打印结果为:
k3:ccccc
k1:aaaaa
k2:bbbbb
以下代码遍历Java数组:
打印结果为:s1 s2 s3
以下遍历访问字符串"aaa,bbb,ccc"中被逗号分隔的字符串:
打印结果为:aaa bbb ccc
From:http://bbs.itcast.cn/article-245-1.html
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
一、基本使用
标签用于遍历集合中的对象,并能重复执行标签主体内容。它的基本用法如下所示:
主体内容
标签每次从items的集合中取出一个元素,并把它存放在只能标签内部才能访问的范围中,并用var的取值作为引用名称,通过该名称可以在标签主体内访问当前遍历的元素。
例如下方代码创建了一个List集合,然后通过
遍历集合,并把集合中的元素打印到页面上:
运行以上代码,得到的显示结果为“Itcast Itheima”。以上标签代码等价于以下Java程序片段:
第一段和第三段Java程序片段完成标签的任务,即在每一次循环中,从list中取出一个元素,把它作为e命名变量存在页面范围内,接着执行标签的主体内容,然后从页面范围内删除该变量,从而确保只有标签主体内容才能访问e变量。
二、标签的varStatus属性
varStatus属性用于指定一个变量,引用一个javax.servlet.jsp.jstl.core.LoopTagStatus类型的对象,该对象只能在标签内部通过指定的变量名称来访问,它包含了从集合中取出的当前元素的状态信息。
count:当前元素在集合中的序号,从1开始计数。
index:当前元素在集合中的索引,从0开始计数。
first:当前元素是否是集合中的第一个元素。
last:当前元素是否是集合中的最后一个元素。
以下代码演示了使用了varStatus属性的标签:
以上代码的展现结果如下图所示:
三、标签的begin、end和step属性
bengin属性:指定循环的起始索引。
end属性:指定循环的结束索引。
step属性:指定步长。
以下代码用于循环遍历List集合,输出索引从1到4的元素:
以上代码的打印结果为“index1 index2 index3 index4”。
如果没有为标签设置items属性,那么就直接把每次循环的索引赋值给var指定的命名变量。如下打印的结果为"1 3 5 7 9"
四、标签可以遍历的对象
可以遍历的对象包括:
java.util.set、java.util.List、java.util.Map、java.util.Iterator和java.util.Enumeration接口的实现类。
Java数组。
以逗号分隔的字符串。
以下代码遍历Map类型的集合:
打印结果为:
k3:ccccc
k1:aaaaa
k2:bbbbb
以下代码遍历Java数组:
打印结果为:s1 s2 s3
以下遍历访问字符串"aaa,bbb,ccc"中被逗号分隔的字符串:
打印结果为:aaa bbb ccc
From:http://bbs.itcast.cn/article-245-1.html
相关文章推荐
- JSTL之forEach的使用详解(简单的技术说得很详细)
- 双缓冲技术的简单使用
- 国内主要实时更新系统使用技术及其简单分析(Notes)
- jstl标签: c:Foreach详解
- windows驱动开发技术详解 VC6与DDK搭配使用的设置
- mdadm使用详解及RAID 5简单分析
- 推荐下载:MSN机器人源代码(C#),含自动IP地址查询、简单自动问答等(添加详细使用)
- lucene.NET详细使用与优化详解
- 电脑GHOST详细的使用方法------全部附图文详解(给不懂GHOST的新人们) !!!!!!
- FCKeditor使用方法技术详解
- 使用JDOM解析XML(转载,简单又详细)
- 使用J2ME技术实现简单的动画(附代码实现)
- ORM,ASP.NET中ORM学习,ASP.NET中ORM学习心得,WEB2.0中ORM实现原理,Asp.net简单ORM示例源码详细讲解,Asp.net2.0:如何使用ObjectDataSource(配合ORM )(二)
- 使用J2ME技术实现简单的动画(附代码实现)
- lucene、lucene.NET详细使用与优化详解
- 详细介绍JSF框架技术中使用的设计模式
- mdadm使用详解及RAID 5简单分析
- [转]lucene、lucene.NET详细使用与优化详解
- Java开源技术:Eclipse的使用技巧详解
- [转]lucene、lucene.NET详细使用与优化详解