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”

在這裏插入圖片描述

在這裏插入圖片描述

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