Day07 動態頁面技術(JSTL)

JSTL表達式概述

  • (1)什麼是jstl
    JSTL(JSP Standard Tag Library),JSP標準標籤庫,能夠嵌入在jsp頁面中使用標籤的形式完成業務邏輯等功能。
  • (2) jstl有什麼意義?
    jstl出現的目的同el同樣也是要替換jsp頁面中的腳本代碼。
  • (3) JSTL標準標準標籤庫有5個子庫,目前常使用的是他的核心庫
    在這裏插入圖片描述

JSTL表達式-環境準備

  • (1)導入jar包
    在這裏插入圖片描述
  • (2)引入標籤庫
<%--引入jstl--%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core"   prefix="c"%>

JSTL表達式-if標籤

  • (1)jstl的核心標籤內容有不少,如今目前還經常使用的標籤只有if、foreach標籤。
  • (2)<c:if>標籤
    起到java代碼的判斷的做用
  • (3)if標籤屬性介紹
    在這裏插入圖片描述
  • 示例
<%
    int a = 200;
    int b = 500;
    request.setAttribute("a", a);
    request.setAttribute("b", b);
%>
<%--
   test:測試條件成立
   var:  用來保存條件的結果,true或者false
   scope: 表示將結果存到哪一個域中
--%>
<c:if test="${a > b }" var="bl" scope="session">
    <h1 style="color: green">a大於b</h1>
</c:if>
<c:if test="${!(a > b) }">
    <h1 style="color: red">a小於b</h1>
</c:if>

JSTL表達式-for標籤

  • (1)forEach標籤
    起到java代碼的for循環做用
  • (2)forEach標籤屬性介紹
    在這裏插入圖片描述
<%--
     for標籤:
        1:普通for
         for(int i=0; i<5; i++)
         begin: 表示索引開始
         end  :表示索引結束,包含結束值
         var  :循環變量 i, 與begin+step一同增加, jsp會自動的將該值存放在pageContext域中
         step :每一次循環的增量
 --%>
    <%
        int num = 10;
        request.setAttribute("num",num);
    %>
    <c:forEach begin="1" end="${num}" step="1" var="i">
        <h1 color="green">HelloWorld + ${ i}</h1>
    </c:forEach>
<hr/>
<%--
        2:加強for
         for( String str: list)

         items="${list}" 從域中根據list這個鍵獲取集合對象
         var="str"       每次循環時,jstl會自動將集合中的元素賦給str
                         每次循環時,jstl會自動將str的值存入pageContext域
         varStatus="vs"  這個參數會記錄當前循環的一些狀態信息
         vs.count 返回值爲number  能夠獲取當前循環的次數
         vs.index 返回值爲number  獲取集合成員的索引(下標從0開始) 
         vs.first 返回值爲boolean 如今指到的集合成員是否爲第一個成員 
         vs.last  返回值爲boolean 如今指到的集合成員是否爲最後一個成員 
--%>
    <%
        ArrayList<String> list = new ArrayList<>();
        list.add("str1");
        list.add("str2");
        list.add("str3");
        request.setAttribute("list",list);
    %>
    <c:forEach items="${list}" var="str" varStatus="vs">
        <h1 color="red">${ str},如今是第${ vs.count}次循環</h1>
    </c:forEach>
相關文章
相關標籤/搜索