JavaWeb-JSTL迭代操作

mac2022-06-30  66

迭代操作

<c:forEach>:可以对数组,collection,map进行遍历,begin(对于集合begin从0开始算),end,step

<c:forEach>为循环控制,它可以将集合(collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行<c: forEach>的本体内容

属性:

名称说明EL类型必须默认值var用来存放现在指到的成员NStringitems被迭代的集合对象Y

Arrays

Collection

Iterator

Map

Enumeration

String

varStatus用来存放现在指到的相关成员信息NStringbegin开始的位置Yint0end结束的位置Yint最后一个成员step每次迭代的间隔数Yint1

 

varStatus的属性:

属性类型意义indexnumber现在指到成员的索引countnumber总共指到成员的总数firstboolean现在指到的成员是否为第一个成员lastboolean现在指到的成员是否为最后一个成员

 

 

<!---collection 跟数组遍历相同->

<% List<Customer> custs = new ArrayList<Customer>(); custs.add(new Customer("1","AAA")); custs.add(new Customer("2","BBB")); custs.add(new Customer("3","CCC")); custs.add(new Customer("4","DDD")); custs.add(new Customer("5","EEE")); custs.add(new Customer("6","FFF")); request.setAttribute("custs",custs); %> <br><br> <c:forEach items="${requestScope.custs}" begin="1" step="2" end="5" var="cust"> ${cust.id} -- ${cust.name} <br> </c:forEach>

 

<% List<Customer> custs = new ArrayList<Customer>(); custs.add(new Customer("1","AAA")); custs.add(new Customer("2","BBB")); custs.add(new Customer("3","CCC")); custs.add(new Customer("4","DDD")); custs.add(new Customer("5","EEE")); custs.add(new Customer("6","FFF")); request.setAttribute("custs",custs); %> <br><br> <c:forEach items="${requestScope.custs}" varStatus="status" var="cust"> ${status.index} : ${status.count} : ${status.first} : ${status.last} : ${cust.id} : ${cust.name} <br> </c:forEach>

  

 

<!--Map集合遍历-->

<% Map<String,Customer> map = new HashMap<String, Customer>(); map.put("a",new Customer("1","AAA")); map.put("b",new Customer("2","BBB")); map.put("c",new Customer("3","CCC")); map.put("e",new Customer("4","DDD")); map.put("f",new Customer("5","EEE")); map.put("g",new Customer("6","FFF")); request.setAttribute("map",map); %> <br><br> <c:forEach items="${requestScope.custs}" varStatus="status" 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>

 

<c: forTokens>:处理字符串,类似于String的split()方法

<c:forTokens>用来浏览一字符串中所有的成员,其成员是由定义符号(delimiters)所分隔的。

 去掉,号

<c:set value="a,b,c,d,e;f:g" var="test" scope="request"></c:set> <c:forTokens items="${requestScope.test}" delims="," var="s"> ${s}<br> </c:forTokens>

  

转载于:https://www.cnblogs.com/yangHS/p/11187973.html

最新回复(0)