JavaWeb-JSTL迭代操作

迭代操作

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

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

属性:

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

Arrays

Collection

Iterator

Map

Enumeration

String

varStatus 用来存放现在指到的相关成员信息 N String
begin 开始的位置 Y int 0
end 结束的位置 Y int 最后一个成员
step 每次迭代的间隔数 Y int 1

 

varStatus的属性:

属性 类型 意义
index number 现在指到成员的索引
count number 总共指到成员的总数
first boolean 现在指到的成员是否为第一个成员
last boolean 现在指到的成员是否为最后一个成员

 

 

<!---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>

  

posted @ 2019-07-15 11:46  鸿森  阅读(222)  评论(0编辑  收藏  举报