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>


原创粉丝点击