JSP文件的JSTL标签类中c:forEach循环控制标签的用法

前言:介绍一下<c:forEach>标签

<c:forEach>循环标签可以根据循环条件(通常和el表达式使用,el表达式我们有机会再说,在这里我就默认你会基本的el表达式了),遍历集合并从中取出我们想要的数据。如果在JSP页面中使用JAVA代码来遍历数据,会使页面非常混乱,不利于维护和分析。使用<c:forEach>循环标签可以是页面更加直观、简洁。

<c:forEach>有以下的属性:
items:指定要遍历的集合,相当于下面的str

String[] str={"1","2"};
for(String s:str)
      var:设置变量名,并从集合中取出一组数据。相当于上面的s
      begin:指定循环的起始位置,如果没有指定,则默认从第一个值开始遍历
      end:指定循环的终止位置,如果没有指定,则默认循环到最后一个
      step:用于指定循环的步长,例如step=“2”,则会隔一个循环。下面会有例子说明
      varStatus:用于指定循环的状态,有一下四个属性值,这个也比较常用,特别是index属性值,表示索引值。

在这里插入图片描述
注意:在jsp页面前要加这个,引入jstl标签库
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

用法实例讲解

第一种:加入items和var

<%String[] str={"1","2","3","4","5","6","7"}; 
     request.setAttribute("str",str);
    %>
   <c:forEach items="${str}" var="s">
        <c:out value="${s}"></c:out><br><!-- 这个是输出的标签,相当于System.out.println(s); -->
   </c:forEach>

输出结果:

1 2 3 4 5 6 7

第二种:加入Items、var、begin和end

 <%String[] str={"1","2","3","4","5","6","7"}; 
     request.setAttribute("str",str);
    %>
   <c:forEach items="${str}" var="s" begin="1" end="5">
        <c:out value="${s}"></c:out><br><!-- 这个是输出的标签,相当于System.out.println(s); -->
   </c:forEach>

输出结果:

2 3 4 5 6

第三种:加入Items、var、begin、end和step

<%String[] str={"1","2","3","4","5","6","7"}; 
     request.setAttribute("str",str);
    %>
   <c:forEach items="${str}" var="s" begin="1" end="5" step="2">
        <c:out value="${s}"></c:out><br><!-- 这个是输出的标签,相当于System.out.println(s); -->
   </c:forEach>

输出结果:

2 4 6

第四种:加入Items、var、begin、end、step和status

<%String[] str={"1","2","3","4","5","6","7"}; 
     request.setAttribute("str",str);
    %>
   <c:forEach items="${str}" var="s" begin="1" end="5" step="2" varStatus="status">
   <!-- &nbsp是换行符,在html中无论你敲多个空格键,最终在网页上只会显示一个空格,所以我们一般用这个作为空格 -->
        <c:out value="index属性:${status.index}"></c:out>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <c:out value="count属性:${status.count}"></c:out>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <c:out value="first属性:${status.first }"></c:out>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <c:out value="last属性:${status.last }"></c:out><br>
   </c:forEach>

输出结果:

原来集合:“1”,“2”,“3”,“4”,“5”,“6”,“7” 现在子集合:“2”,“4”,“6”

在这里插入图片描述

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章