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 ...
随机推荐
- SpringBoot项目创建及入门基础
一:快速构建springboot项目 进入https://start.spring.io/,选择相应的springboot版本,包名,项目名,依赖 图中选择web,利用tomcat服务器进行开发 sp ...
- CF 13E Holes
Holes 题意:现在有一排洞,每个洞有一个弹力,能弹到ai之后的洞,球会弹到这个排的外面,现在有2个操作,0 a b 将第a个洞的弹力设为b, 1 a 将球放入第a个洞,求输出进洞的次数 和 弹出这 ...
- 2017 省赛选拨 火车入站 CSU 1757 模拟
1757: 火车入站 Submit Page Summary Time Limit: 1 Sec Memory Limit: 128 Mb Submitted: 512 ...
- JS-特效 ~ 01. 事件对象、offset偏移/检测、无缝滚动、自动循环轮播图
Math.round ( ) :正书四舍五入,负数五舍六入 用定时器,先清除定时器 事件对象 event event:事件被触动时,鼠标和键盘的状态,通过属性控制 Offset:偏移,检测 1. 获取 ...
- 适合C++のOIer平日写题的开场模板
上面的#define还是较充足的,快读模板也有,freopen也提前打好了,比较适合OIer(C++)平时刷题和考试的开场. (纯原版仅供SJZEZのORZ队&AFO队使用) (您老把开头的注 ...
- virtualbox下最小化安装centos7后上网设置
在虚拟机中以最小化方式安装centos7,后无法上网,因为centos7默认网卡未激活. 可以设置 文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3 将 O ...
- Navicat Premium基本使用
Navicat Premium基本使用 转自:https://blog.csdn.net/Yangchenju/article/details/80633055 Navicat Premium基本使用 ...
- 如何使用Java访问双向认证的Https资源
本文的相关源码位于 https://github.com/dreamingodd/CA-generation-demo 0.Nginx配置Https双向认证 首先配置Https双向认证的服务器资源. ...
- thinkphp5.1导出excel文件第三方类库运用
若没安装请到:链接地址 https://www.phpcomposer.com/这里安装 composer 安装过的,cmd切换到项目根目录运行:composer require phpoffice/ ...
- Django ORM 知识点总结
Query是如何工作的 Django QuerySet是懒执行的,只有访问到对应数据的时候,才会去访问数据库.另外如果你再次读取查询到的数据,将不会触发数据库的访问,而是直接从缓存获取. 比如 # 这 ...