JSTL標籤庫

1.什麼是JSTL?

  JSTL全稱爲 JSP Standard Tag Library 即JSP標準標籤庫。它與EL表達式同樣,也是爲了替換掉JSP中的java代碼。它提供了一系列的JSP標籤,實現了java的基本功能:集合的遍歷、數據的輸出、字符串的處理、數據的格式化等等。JSTL能夠說是EL的補充、擴展,常常與EL一塊兒使用。java

2.常見子標籤庫

核心標籤庫: 包含 Web 應用的常見工做,好比:循環、表達式賦值、基本輸入輸出等。(經常使用)
格式化標籤庫:用來格式化顯示數據的工做,好比:對不一樣區域的日期格式化等。
函數標籤庫:用來讀取已經定義的某個函數。
XML 標籤庫:用來訪問 XML 文件的工做,這是 JSTL 標籤庫的一個特色。(基本不用)
數據庫標籤庫:能夠作訪問數據庫的工做。(基本不用)sql

 

3.標籤庫導入及使用

  1.下載jar包,並導入數據庫

  

2.使用<%@ taglib %>引入標籤庫,設置uri和prefix的屬性值。
  核心標籤庫:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
  格式化標籤庫:<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
  函數標籤庫:<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
  XML 標籤庫:<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
  數據庫標籤庫:<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
  uri和prefix屬性的值能夠在jstl-impl-1.2.2.jar/META-INF中能夠找到。jsp

3.使用
  語法:<前綴:標籤名 屬性名=「屬性值」>
  注:前綴爲引入時的prefix,標籤庫的前綴是固定的不可自定義。函數

4.核心標籤庫

  1.<c:out>用於把數據輸出到 JSP 頁面中顯示spa

  

  2.<c:set>將值存儲到做用域或爲 JavaBean 中的變量屬性賦值3d

  

  3.<c:remove>刪除存在於 scope 中的變量code

  

  4.c:if 標籤:條件判斷(單條件,至關於java的if或if-else)orm

  

  補充:c:if 標籤通常用於只有一個條件的狀況。
  須要用到相似於if-else結構是能夠設定var,如var="result",而後在另外一個c:if 標籤中的test對對結果進行取反,如test="${!result}xml


  5.c:choose 、 c:when、 c:otherwise標籤:條件判斷(多條件,至關於if-else-if)
  例:

   

 1 <c:choose>
 2         <c:when test="${score >=80 }">
 3             優秀
 4         </c:when>
 5         <c:when test="${score >=70 }">
 6             良好
 7         </c:when>
 8         <c:when test="${score >=60 }">
 9             及格
10         </c:when>
11         <c:otherwise>
12             不及格        
13         </c:otherwise>
14     </c:choose>

使用時須要注意如下幾點:
  1.c:when必須在c:otherwise以前出現
  2.c:otherwise只能出現一次
  3.c:when和c:when和c:otherwise以前不容許出現其餘任何字符

 

6.c:forEach標籤:循環,至關於java的迭代器

補充:
  begin & end:只能爲數字,當沒有items屬性時,var的值從begin數字循環到end數字;當有items屬性時,begin & end就表示下標。
  varStatus的屬性:
  first(判斷當前循環體是否爲第一個)
  last(判斷當前循環體是否爲最後一個)
  count(當前循環次數)
  index(當前循環體的下標)
  varStatus用法如:
  varStatus="status"
  ${status.first} ${status.last} ${status.count} ${status.index}

5.格式化標籤庫

  1.fmt:formatDate:將一個時間對象按指定格式輸出
    格式:<fmt:formatDate value=「${ date }」pattern=「yyyy年MM月dd日」/>
  2.fmt:parseDate:將一個字符串按指定格式解析成時間對象
    格式:<fmt:parseDate value="${ds}" var="date" pattern="yyyy/MM/dd HH:mm:ss">

  

6.函數標籤庫

函數標籤庫,EL函數庫、fn標籤庫。須要在EL表達式中使用。如:${fn:length(xxx) }:會到做用域中去找xxx屬性,而後輸出它的長度,沒找到就爲0fn標籤庫中的標籤與java中的String對象方法基本相同。

相關文章
相關標籤/搜索