JSTL中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属性值,表示索引值。

变量类型描述
indexint位于原集合中的索引值(从0开始)
countint位于现在子集合中的索引值(从1开始,如果没有begin、end和step,则和index一样)
firstboolean是否是现在子集合的第一位
lastboolean是否是现在子集合的最后一位

      我们现在来进行举例说明,通过以下四种用法组合使用来讲解这个用法:

      注意:在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>

输出结果:

第二种:加入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>

输出结果:

第三种:加入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>

输出结果:

第四种:加入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>                 <c:out value="count属性:${status.count}"></c:out>                 <c:out value="first属性:${status.first }"></c:out>                 <c:out value="last属性:${status.last }"></c:out><br>   </c:forEach>

输出结果:

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

点这里可以跳转到人工智能网站

发表评论