forEach标签
1、forEach标签的简单使用:
(1)未设置步长属性时,默认步长为1:
<c:forEach ">
<c:out value="${number}"></c:out>
</c:forEach>

(2)设置步长属性后,步长改变:
<c:forEach ">
<c:out value="${number}"></c:out>
</c:forEach>

从0到12输出,需要运用到begin和end属性。
2、遍历ArrayList集合:
(1)forEach遍历集合(ArrayList集合存储字符串):
<body>
<%
ArrayList<String> string=new ArrayList<String>();
string.add("星期一");
string.add("星期二");
string.add("星期三");
string.add("星期四");
string.add("星期五");
string.add("星期六");
string.add("星期天");
request.setAttribute("string",string);
%>
<c:forEach items="${requestScope.string}" var="str">
<c:out value="${str}"></c:out><br>
</c:forEach>
</body>
先向ArrayList集合中添加元素,再将ArrayList集合添加到request域,使用forEach指明要遍历的集合来自哪个域,并将每一个元素分别输出(str代表每一个数据)。

(2)遍历存储了学生对象的集合:
建立javabean:
package pers.zhb.domain;
public class Student {
private String name;
private int age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", sex='" + sex + '\'' +
'}';
}
}
遍历集合中的对象:
<body>
<%
ArrayList<Student> students=new ArrayList<Student>();
Student student1=new Student();
student1.setSex("男");
student1.setAge();
student1.setName("mill");
students.add(student1);
Student student2=new Student();
student2.setSex("女");
student2.setAge();
student2.setName("莉莉");
students.add(student2);
request.setAttribute("student",students);
%>
<c:forEach items="${requestScope.student}" var="stu">
<c:out value="${stu}"></c:out><br>
</c:forEach>
</body>

3、遍历Map集合:
(1)键和值都为String类型:
<body>
<%
Map<String, String> map = new HashMap<String, String>();
map.put("河南", "郑州");
map.put("北京", "北京");
session.setAttribute("provincialCapital",map);
%>
<c:forEach items="${sessionScope.provincialCapital}" var="province">
<c:out value="${province.key}:${province.value}"></c:out>
</c:forEach>
</body>

(2)遍历值为Student对象的Map集合:
<body>
<%
ArrayList<Student> students=new ArrayList<Student>();
Student student1=new Student();
student1.setSex("男");
student1.setAge();
student1.setName("mill");
students.add(student1);
Student student2=new Student();
student2.setSex("女");
student2.setAge();
student2.setName("莉莉");
students.add(student2);
Map<String, Student> map = new HashMap<String, Student>();
map.put("student1", student1);
map.put("student2", student2);
session.setAttribute("studentsMap",map);
%>
<c:forEach items="${sessionScope.studentsMap}" var="student">
<c:out value="${student.key}: ${student.value.getName()}${student.value.getSex()}${student.value.getAge()}}"></c:out><br>
</c:forEach>
</body>

forEach标签的更多相关文章
- MyBatis的Mapper文件的foreach标签详解
MyBatis的Mapper文件的foreach标签用来迭代用户传递过来的Lise或者Array,让后根据迭代来拼凑或者批量处理数据.如:使用foreach来拼接in子语句. 在学习MyBatis M ...
- jstl foreach标签
forEach标签 forEach标签用来循环. 属性: * var :定义循环变量 * begin :从哪开始 * end :到哪结束 * step :递增 * items :遍历的内容 * var ...
- MyBatis foreach标签遍历数组
有时候开发中需要根据多个ID去查询,可以将ID封装为List或者数组然后使用MyBatis中的foreach标签构建in条件. 这里我将ID封装为String[]作为参数. <select id ...
- jstl 中<c:forEach />标签
<c:forEach>标签有如下属性: 属性 描述 是否必要 默认值 items 要被循环的信息 否 无 begin 开始的元素(0=第一个元素,1=第二个元素) 否 0 end 最后一个 ...
- JSTL的c:forEach标签(${status.index})
<c:forEach>标签具有以下一些属性: var:迭代参数的名称.在迭代体中可以使用的变量的名称,用来表示每一个迭代变量.类型为String. items:要进行迭代的集合.对于它所支 ...
- javaWeb 使用jsp开发 foreach 标签
1.jsp代码 测试数据 <% List<String> list = new ArrayList<String>(); list.add("aaa" ...
- mybatis动态sql中foreach标签的使用
foreach标签主要用于构建in条件,他可以在sql中对集合进行迭代.如下: <delete id="deleteBatch"> delete from user w ...
- 详解JSTL的forEach标签
详解JSTL的forEach标签 为循环控制,它可以将集合(Collection)中的成员循序浏览一遍. <c:forEach> 标签的语法 说明 : 语法:迭代一集合对象之所有 ...
- mybatis foreach标签
一.批量插入数据 示例:添加订单商品表 1.模型层的相应代码 /** * 添加订单商品表 * @param ordergoods * @return */ public boolean addOrde ...
- [jstl] forEach标签使用
在JSP的开发中,迭代是经常要使用到的操作.例如,逐行的显示查询的结果等.在早期的JSP中,通常使用Scriptlets来实现Iterator或者Enumeration对象的迭代输出.现在,通过JS ...
随机推荐
- EF的3种开发模式
那么明显开发模式是三种. 即:DateBase First(数据库优先).Model First(模型优先)和Code First(代码优先). 当然,如果把Code First模式的两种具体方式独立 ...
- node.js常用的全局成员和对象
一般可以直接调用的对象,我们称之为全局对象: 一下对象都加了console.log(),以在运行环境中的显示效果为标准 //包含文件名称的全路径: console.log(_filename); ...
- 模板汇总——splay
#define lch(x) tr[x].son[0] #define rch(x) tr[x].son[1] ; , root; struct Node{ ], pre, sz; void init ...
- HDU 1003 Max Sum * 最长递增子序列(求序列累加最大值)
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- 接口压测工具WRK的学习与使用
之前一直在使用jmeter,第一次接触wrk,记录下使用过程以便自己再次使用. 首先,WRK是linux系统上才可以使用的工具,我也不想剑走偏锋的去研究如何让wrk可以在windows系统上使用. 临 ...
- 【入门】广电行业DNS、DHCP解决方案详解(三)——DNS部署架构及案
[入门]广电行业DNS.DHCP解决方案详解(三)——DNS部署架构及案 DNS系统部署架构 宽带业务DNS架构 互动业务DNS架构 案例介绍 案例一 案例二 本篇我们将先介绍DNS系统部署架构体系, ...
- 关于BFC的一些事
BFC的生成 在实现CSS的布局时,假设我们不知道BFC的话,很多地方我们生成了BFC但是不知道.在布局中,一个元素是block元素还是inline元素是必须要知道的.而BFC就是用来格式化块状元素盒 ...
- SVN中忘记上传自己写的工程,但是IP已经变了的解决方案
苦于自己没有养成每天下班上传SVN的好习惯,第二天来又发现IP变了,只得把自己写的删掉,记录一下解决方法: 第一个红框中的svn://192.168.0.103/FH是前一天的IP链接地址,结果发现今 ...
- Android mmap 文件映射到内存介绍
本文链接: Android mmap 文件映射到内存介绍 Android开发中,我们可能需要记录一些文件.例如记录log文件.如果使用流来写文件,频繁操作文件io可能会引起性能问题. 为了降低写文件的 ...
- C++11新增容器以及元组
上次说了C++11的部分新特性,这里我们来说说新增的容器. unordered_map unordered_set unordered_multimap unordered_multiset arra ...