JSTL(第二节)
来源:互联网 发布:交通枢纽大数据 编辑:程序博客网 时间:2024/05/17 21:57
1.迭代操作主要包括两个标签:<c: forEach>和<c: forTokens>
2.<c: forEach> 为循环控制,它可以将集合(collection)中的成员循环浏览一遍,运作方式为当条件符合时,就会持续重复执行<c: forEach>的本体内容。
3.语法:
语法1:迭代一集合对象所有成员
<c: forEach [var="varName"] items="collection" [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>
本体内容
</c:forEach>
var用来存放现在指到的成员(类型 String 无EL表达式),items指被迭代的集合对象(类型:Arrays,Collection,Iterator,Enumeration,Map,String 有EL表达式),varStatus用来存放现在指到的相关成员信息(类型 String 无EL表达式 ),begin开始的位置(类型 int 有EL表达式),end结束的位置(类型 int 有EL表达式),step每次迭代的间隔数(类型 int 有EL表达式)
语法2:迭代指定的次数
<c: forEach [var="varName"] [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>
本体内容
</c:forEach>
示例代码如下:
<h4>c:forTokens: 处理字符串的, 类似于 String 的 split() 方法</h4><c:set value="a,b,c.d.e.f;g;h;j" var="test" scope="request"></c:set><c:forTokens items="${requestScope.test }" delims="." var="s">${s }<br></c:forTokens><h4>c:forEach: 可以对数组, Collection, Map 进行遍历, begin(对于集合 begin 从 0 开始算), end, step</h4><c:forEach begin="1" end="10" step="3" var="i">${ i} --</c:forEach><br><br><% List<Customer> custs = new ArrayList<Customer>();custs.add(new Customer(1, "AAA")); //index: 0 custs.add(new Customer(2, "BBB")); //1custs.add(new Customer(3, "CCC")); custs.add(new Customer(4, "DDD")); //3custs.add(new Customer(5, "EEE"));custs.add(new Customer(6, "FFF")); //5request.setAttribute("custs", custs);%><br><br><!-- 遍历 Collection, 遍历数组同 Collection --><c:forEach items="${requestScope.custs }" var="cust"varStatus="status">${status.index}, ${status.count}, ${status.first}, ${status.last}: ${cust.id }: ${cust.name }<br></c:forEach><!-- 遍历 Map --><% Map<String, Customer> custMap = new HashMap<String, Customer>();custMap.put("a", new Customer(1, "AAA")); //index: 0 custMap.put("b", new Customer(2, "BBB")); //index: 0 custMap.put("c", new Customer(3, "CCC")); //index: 0 custMap.put("d", new Customer(4, "DDD")); //index: 0 custMap.put("e", new Customer(5, "EEE")); //index: 0 custMap.put("f", new Customer(6, "FFF")); //index: 0 request.setAttribute("custMap", custMap);%><br><br><c:forEach items="${requestScope.custMap }" var="cust">${cust.key } - ${cust.value.id } - ${cust.value.name }<br></c:forEach><% String [] names = new String[]{"A", "B", "C"};request.setAttribute("names", names);%><br><br><!-- 遍历 数组 --><c:forEach var="name" items="${names }">${name }-</c:forEach><br><br><!-- 遍历 Enumeration --><c:forEach items="${pageContext.session.attributeNames }" var="attrName">${attrName }-</c:forEach>
阅读全文
0 0
- JSTL(第二节)
- JSTL(1)使用JSTL
- jstl in action 第二章(转自http://www.blogcn.com/blog/trackback.asp?mydiary=23140875)
- js中嵌入jstl标签的实战 : 第二卷
- JSTL入门(2)
- JSP标签(JSTL)
- JSTL(fn函数)
- JSTL(remove)
- jstl(when)
- jstl(fmt)
- jstl(foreach)
- JSTL(fn函数)
- JSTL学习(一)
- JSTL(fn函数)
- JSTL(fn函数)
- JSTL(fn函数)
- JSTL简介(1)
- JSTL(fn函数)
- 机器学习应用——sklearn自带数据集训练(支持向量机分类)
- 【贪心+优先队列 / 并查集】【cofun1025】工作安排
- sqlmap 简单操作与数据库账户密码破解
- 寻找单链表的倒数第四个节点
- HDU
- JSTL(第二节)
- WampSever 64 虚拟站点的构建
- hdu 4436 后缀自动机算和
- 经典算法题1:找出数组中只出现一次的数字,其它数字都出现了两次
- leetcode解题方案--016--3 sum closest
- httpclient封装别人接口
- y的值
- docker 常用命令整理
- OpenCV入门笔记(二)