JSTL全稱爲 JSP Standard Tag Library 即JSP標準標籤庫。它與EL表達式同樣,也是爲了替換掉JSP中的java代碼。它提供了一系列的JSP標籤,實現了java的基本功能:集合的遍歷、數據的輸出、字符串的處理、數據的格式化等等。JSTL能夠說是EL的補充、擴展,常常與EL一塊兒使用。java
核心標籤庫: 包含 Web 應用的常見工做,好比:循環、表達式賦值、基本輸入輸出等。(經常使用)
格式化標籤庫:用來格式化顯示數據的工做,好比:對不一樣區域的日期格式化等。
函數標籤庫:用來讀取已經定義的某個函數。
XML 標籤庫:用來訪問 XML 文件的工做,這是 JSTL 標籤庫的一個特色。(基本不用)
數據庫標籤庫:能夠作訪問數據庫的工做。(基本不用)sql
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,標籤庫的前綴是固定的不可自定義。函數
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}
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">
函數標籤庫,EL函數庫、fn標籤庫。須要在EL表達式中使用。如:${fn:length(xxx) }:會到做用域中去找xxx屬性,而後輸出它的長度,沒找到就爲0fn標籤庫中的標籤與java中的String對象方法基本相同。