JSP標籤 —— JSTL標籤庫 知識詳解 學習筆記

本文查閱方法:
    一、查閱目錄 —— 查閱本文目錄,肯定想要查閱的目錄標題
    二、快捷「查找」 —— 在當前瀏覽器頁面,按鍵 「Ctrl+F」 按鍵組合,開啓瀏覽器的查找功能,
             在查找搜索框中 輸入須要查閱的 目錄標題,即可以直接到達 標題內容 的位置。
    三、學習小結 —— 文中的學習小結內容,是筆者在學習以後總結出的,開發時可直接參考其進行應用開發的內容, 進一步加快了本文的查閱 速度。(水平有限,僅供參考。)html

 

 

 


 

本文目錄java

 

 

 

  學習小結數據庫

 

  一、JSTL標籤庫 的五個子標籤庫 瀏覽器

 

  二、JSTL標籤庫-- <c:out>標籤session

 

  三、JSTL標籤庫-- <c:set>標籤 app

 

  四、JSTL標籤庫-- <c:remove>標籤  dom

 

  五、JSTL標籤庫-- <c:catch>標籤 jsp

 

  六、JSTL標籤庫-- <c:if>標籤函數

 

  七、JSTL標籤庫-- <c:choose>標籤 學習

 

  八、JSTL標籤庫-- <c:forEach>標籤

 

  九、JSTL標籤庫-- <c:param>標籤 

 

  十、JSTL標籤庫-- <c:url>標籤 【重點學習】

 

  十一、JSTL標籤庫-- <c:redirect>標籤

 

  十二、JSTL標籤庫-- <c:forTokens>標籤

 

  1三、JSTL標籤庫綜合 Demo樣例

 

  

 

 

 


 

 

 

  學習小結

 

  (1)<c:out>標籤

 

      <c:out value="" [escapeXml="true" default="default value"]/>  

 

 

 

  (2)<c:set>標籤 

 

      <c:set value="" {var="" scope="session" | target="對象/map名稱" property="屬性名/鍵值" }/> 

 

 

 

  (3)<c:remove>標籤 

 

      <c:remove var="varName" [scope="{page|request|session|application}"] /> 

 

 

 

  (4)<c:catch>標籤 

 

      <c:catch [var="varName"]>nested actions</c:catch>

 

 

 

  (5)<c:if>標籤

 

      <c:if test="" [ var="varName" scope="{page|request|session|application}"] />  

 

 

 

  (6)<c:choose>標籤 

 

      <c:choose>

 

        <c:when test="${count == 0}">

 

          對不起,沒有符合您要求的記錄。

 

        </c:when>

 

        <c:otherwise>

 

          符合您要求的記錄共有${count}條.

 

        </c:otherwise>

 

      </c:choose> 

 

 

 

  (7)<c:forEach>標籤

 

  ​    <c:forEach  var=""  items="" [ varstatus=""  begin=""  end=""  step="" ]>  </c:forEach>

 

 

 

  (8)<c:param>標籤 

 

      <c:param name="name" value="value" />

 

 

 

  (9)<c:url>標籤 【重點學習】

 

      <c:url var="index" value="/index.jsp">

 

        <c:param name="name" value="中國"></c:param>

 

      </c:url>   

 

      <a href='${index }'>點點</a>

 

      生成的html源碼:<a href='/day11/index.jsp?name=%e4%b8%ad%e5%9b%bd'>點點</a>

 

 

 

  (10)<c:redirect>標籤

 

      ​<c:redirect url="目標URL地址" [context="其餘Web應用的名稱"] />

 

 

 

  (11)<c:forTokens>標籤

 

      <c:forTokens items="要分隔的字符串" delims="分隔符" var="分隔出的每份字符串臨時變量名"  scope=""指定域 >    </c:forTokens>

 

 

 

 

 


 

 

 

 

 

一、JSTL標籤庫 的五個子標籤庫 

 

    (1) 核心標籤庫 

 

    (2) 國際化標籤

 

    (3) 數據庫標籤 (有違分層開發原則,本文不作講解)

 

    (4) XML標籤(有違分層開發原則,本文不作講解 ) 

 

    (5) JSTL函數(EL函數)

 

 

 


 

 

 

二、JSTL標籤庫-- <c:out>標籤

 

    <c:out> 標籤用於輸出一段文本內容到pageContext對象當前保存的「out」對象中。(瀏覽器)

 

    <c:out value="" [escapeXml="true" default="default value"]/>   

 



 

 

   

 


 

  

 

三、JSTL標籤庫-- <c:set>標籤 

 

    <c:set>標籤用於把某一個對象存在指定的域範圍內,或者設置Web域中的java.util.Map類型的屬性對象或JavaBean類型的屬性對象的屬性。 

 

    <c:set value="" {var="" scope="session" | target="對象/map名稱" property="屬性名/鍵值" }/> 

 

 

 

 

 

 


 

 

 

四、JSTL標籤庫-- <c:remove>標籤  

 

    <c:remove>標籤用於刪除各類Web域中的屬性。 

 

    其語法格式以下: 

 

          <c:remove var="varName" [scope="{page|request|session|application}"] /> 

 

 

 


 

 

 

五、JSTL標籤庫-- <c:catch>標籤 

 

    <c:catch>標籤用於捕獲嵌套在標籤體中的內容拋出的異常,其語法格式以下:

 

        <c:catch [var="varName"]>nested actions</c:catch>

 

    var屬性用於標識<c:catch>標籤捕獲的異常對象,它將保存在page這個Web域中。 

 

     Demo樣例:

 

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 

    <%@ page contentType="text/html;charset=gb2312" %>

 

    <c:catch var="myex「 scope=「page」>

 

      <%

 

        10/0;

 

      %>

 

    </c:catch>

 

    異常:<c:out value="${myex}" />  ${myex}<br />

 

    異常 myex.getMessage:<c:out value="${myex.message}" /><br />

 

    異常 myex.getCause:<c:out value="${myex.cause}" /><br />

 

    異常 myex.getStackTrace:<c:out value="${myex.stackTrace}" />

 

      

 


 

 

 

六、JSTL標籤庫-- <c:if>標籤

 

    <c:if test=「」>標籤能夠構造簡單的「if-then」結構的條件表達式  

 

     <c:if test="" [ var="varName" scope="{page|request|session|application}"] />  

 

 

 

 

 

 


 

  

 

七、JSTL標籤庫-- <c:choose>標籤  

 

    <c:choose>標籤用於指定多個條件選擇的組合邊界,它必須與<c:when>和<c:otherwise>標籤一塊兒使用。使用<c:choose>,<c:when>和<c:otherwise>三個標籤,能夠構造相似 「if-else if-else」 的複雜條件判斷結構。相對於多個<c:if test=""></c:if> 標籤的組合應用,能夠提高效率:有一個符合條件,其餘的就再也不判斷。

 

    Demo樣例:

 

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 

    <%@ page contentType="text/html;charset=gb2312" %>

 

    <c:set value="${param.count}" var="count「  /> pageContext(count,2)

 

    <c:choose>

 

      <c:when test="${count == 0}">

 

        對不起,沒有符合您要求的記錄。

 

      </c:when>

 

      <c:otherwise>

 

        符合您要求的記錄共有${count}條.

 

      </c:otherwise>

 

    </c:choose> 

 

 

 


 

 

 

八、JSTL標籤庫-- <c:forEach>標籤

 

    <c:forEach>標籤用於對一個集合對象中的元素進行循環迭代操做,或者按指定的次數重複迭代執行標籤體中的內容。 

 

    <c:forEach  var=""  items="" [ varstatus=""  begin=""  end=""  step="" ]>  </c:forEach>

 



 

 

 

 


 

 

 

九、JSTL標籤庫-- <c:param>標籤 

 

    在JSP頁面進行URL的相關操做時,常常要在URL地址後面附加一些參數。<c:param>標籤能夠嵌套在<c:import>、<c:url>或<c:redirect>標籤內,爲這些標籤所使用的URL地址附加參數。

 

    <c:param>標籤在爲一個URL地址附加參數時,將自動對參數值進行URL編碼,例如,若是傳遞的參數值爲「中國」,則將其轉換爲「%d6%d0%b9%fa」後再附加到URL地址後面,這也就是使用<c:param>標籤的最大好處。      

 

    示例:<c:param name="name" value="value" />

 

     

 


 

 

 

十、JSTL標籤庫-- <c:url>標籤 【重點學習】

 

    <c:url>標籤用於在JSP頁面中構造一個URL地址,其主要目的是實現URL重寫。URL重寫就是將會話標識號以參數形式附加在URL地址後面 。

 



 

 

    

 

    此外,還可添加<c:param /> 爲URL地址 添加參數,如果中文參數值,還會自動 進行URL編碼。

 

    Demo: <c:url var="index" value="/index.jsp">

 

         <c:param name="name" value="中國"></c:param>

 

                  </c:url>   

 

                  <a href='${index }'>點點</a>

 

    生成的html源碼:<a href='/day11/index.jsp?name=%e4%b8%ad%e5%9b%bd'>點點</a>

 

  

 


 

 

 

十一、JSTL標籤庫-- <c:redirect>標籤

 

    <c:redirect>標籤用於實現請求重定向

 

    <c:redirect url="目標URL地址" [context="其餘Web應用的名稱"] />

 



 

 

  

 


 

 

 

十二、JSTL標籤庫-- <c:forTokens>標籤

 

    <c:forTokens>標籤用於實現字符串的分隔 

 

<c:forTokens items="要分隔的字符串" delims="分隔符" var="分隔出的每份字符串臨時變量名"  scope=""指定域 >  </c:forToke

 



 

 

  

 


 

 

 

1三、JSTL標籤庫綜合 Demo樣例

 

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

 

    <%@page import="cn.itcast.domain.Person"%>

 

    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

 

     

 

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

 

       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

 

      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

 

     

 

      <head>

 

        <title>測試jstl</title>

 

      </head>

 

     

 

      <body> 

 

        <br/>-------------------c:out---------------------------<br/>

 

        <% 

 

          request.setAttribute("data","bbbb");

 

        %>

 

        <c:out value="${data}" default="aaaaa" escapeXml="true"></c:out>

 

     

 

         <br/>-------------------c:set能夠操給各個域 javabean Map集合---------------------------<br/>

 

         <c:set var="data" value="xxx" scope="page"/>

 

         ${data }

 

     

 

       <% 

 

           Map map = new HashMap();

 

           request.setAttribute("map",map);

 

       %>

 

       <c:set property="dd" value="xxx" target="${map}"/>

 

       ${map.dd }

 

     

 

       <% 

 

         Person p = new Person();

 

         request.setAttribute("p",p);

 

       %>

 

       <c:set property="name" value="uuuu" target="${p}"/>

 

       ${p.name } 

 

     

 

       <br/>-------------------c:catch---------------------------<br/>

 

       <c:catch var="myex">

 

         <% 

 

           int x = 1/0;

 

         %>

 

       </c:catch>

 

     

 

       ${myex.message}

 

     

 

       <br/>-------------------c:if---------------------------<br/>

 

     

 

       <c:if var="aaa" test="${user==null}" scope="page">

 

         aaaa

 

       </c:if>

 

       ${aaa }

 

     

 

       <br/>-------------------c:foreach---------------------------<br/>

 

        <% 

 

          List list = new ArrayList();

 

          list.add("aaa");

 

          list.add("bbb");

 

          list.add("ccc");

 

          list.add("dddd");

 

          request.setAttribute("list",list);

 

        %>

 

        <c:forEach var="str" items="${list}">

 

          ${str }

 

        </c:forEach>

 

     

 

       <br/>

 

       <c:forEach var="num" begin="1" end="9" step="1">

 

           ${num }

 

       </c:forEach>

 

     

 

       <br/>-------------------c:foreach實現表格間色顯示---------------------------<br/>

 

     

 

       <% 

 

          list = new ArrayList();

 

          list.add("aaa");

 

          list.add("bbb");

 

          list.add("ccc");

 

          list.add("dddd");

 

          list.add("eeee");

 

          list.add("ffff");

 

          list.add("gggg");

 

          list.add("hhhh");

 

          list.add("kkkkk");

 

          request.setAttribute("list",list);

 

        %>

 

         <%--${status }獲取到了一個對象,這個對象記住了當前是第幾回迭代 --%>

 

     

 

        <style>

 

          .odd{background-color: #FF99FF;}

 

          .even{background-color: #FF6633;}

 

          tr:hover{background-color: #0000FF;}

 

        </style>

 

     

 

        <table border="1" width="20%">

 

          <c:forEach var="str" items="${list}" varStatus="status">

 

            <tr class="${status.count%2==0?'even':'odd' }">     

 

              <td>${str }</td>

 

            </tr>

 

          </c:forEach>

 

        </table>

 

     

 

       <br/>-------------------c:url標籤---------------------------<br/>

 

     

 

     

 

       <c:url var="index" value="/index.jsp">

 

           <c:param name="name" value="中國"></c:param>

 

       </c:url>

 

     

 

       <a href='${index }'>點點</a>

 

     

 

       <br/>-------------------c:url標籤---------------------------<br/>

 

     

 

       <% 

 

         pageContext.setAttribute("data","aa,bb,cc,dd");

 

       %>

 

     

 

       <c:forTokens var="ss" items="${data}" delims=",">

 

           ${ss }

 

       </c:forTokens>

 

     

 

      </body>

 

    </html>     

 

     

 

 

 


 

 

 敬請評論(1)若您以爲本文 有用處  —— 請留言評論,以堅決其餘 IT童鞋 閱讀本文的信心。(2)若您以爲本文 沒用處  —— 請留言評論,筆者將會改進不足,以便爲你們整理更加好用的筆記。

相關文章
相關標籤/搜索