JSTL(JSP標準標籤庫)

JSTLJSP標準標籤庫)

jstl.jar ----->包含JSTL規範中定義的接口和相關的類
standard.jar ----->
包含Jalarta小組對JSTL的實現和JSTL5個標籤庫的TLD文件
使用JSTL要把這兩個JAR包複製到%CATALINA_HOME%commonlib目錄下或%CATALINA_HOME%sharedlib

JSTL的目標是爲了簡化JSP頁面的設計

JSTL5個不同功能的標籤庫組成
core
(一般用途標籤、條件標籤、跌代標籤、URL相關的標籤)
一般用途標籤:
<c:out> ----->
用於計算一個表達式並將結果輸出到當前的JspWriter對象
<c:set> ----->
用於設置範圍變量的值或JavaBean對象的值
<c:remove> ----->
移除範圍變量
<c:catch> ----->
用於捕獲在其中嵌套的操作所拋出的異常對象,並將異常對象信息保存到變量中
把可能拋異常的代碼放到<c:catch></c:catch>標籤對中
條件標籤
<c:if> ----->
用於實現JAVA語句中的IF語句功能
<c:choose> -----><c:if>
的子標籤,要和<c:if>一起使用,類似JAVA if else
<c:when> -----><c:choose>
的子標籤,要和<c:choose>一起使用,表示一個可選的條件,類似JAVA if else
<c:otherwise> -----><c:choose>
的子標籤,要和<c:choose>一起使用,表示最後的選擇,類似JAVA if else

迭代標籤
<c:forEach> ----->
用於對包含了多個對象的集合進行迭代,重複執行它的標籤體,或者重複迭代固定的次數
<c:forTokens> ----->
用於迭代字符串中由分隔符分隔的各成員

URL相關的標籤
<c:import> ----->
用於導入一個基於URL的資源,可以是不同應用中的,甚至可以是其他網站的
<c:url> ----->
使用正確的URL重寫規則構造一個URL
<c:redirect> ----->
將客戶端的請求重定向到另一個資源
<c:param> ----->
爲一個URL添加請求參數
I18N
(國際化標籤、格式化標籤)
國際化標籤
<fmt:setLocale> ----->
用於設定用戶本地語言環境,並將指定的Locale保存到javax.servlet.jsp.jstl.fmt.locale環境變量中
<fmt:bundle> ----->
用於創建它的標籤體使用的I18N本地上下文環境
<fmt:setBundle> ----->
用於創建一個I18N本地上下文環境,並將它保存到範圍變量中或保存到javax.servlet.jsp.jstl.localizationContext配置變量中
<fmt:message> ----->
從資源包中查找一個指定的值,用於顯示本地化的消息
<fmt:patam> ----->
提供一個參數,用於<fmt:message>中的參數置換
<fmt:requestEncoding> ----->
設置請求的字符編碼

格式化標籤
<fmt:timeZone> ----->
用於指定時區,其標籤體的時間信息就按照這個時區進行格式化或解析
<fmt:setTimeZone> ----->
用於指定時區,並將它保存到範圍變量中,或保存到javax.servlet.jsp.jstl.fmt.timeZone配置變量中
<fmt:formatNumber> ----->
按照區域或定製的方式將數字的值格式化爲數字、貨幣或百分數
<fmt:parseNumber> ----->
用於將已經格式化後的字符串形式的數字、貨幣和百分數轉換爲數字類型
<fmt:formatDate> ----->
按照區域或定製的方式對日期和時間進行格式化
<fmt:parseDate> ----->
用於將已經格式化後的字符串形式的日期和時間轉換成日期類型
SQL
<sql:setDataSource> ----->
用於設置數據源
<sql:query> ----->
用於對數據庫進行查詢
<slq:param> ----->
用於設置SQL語句中標記爲?的參數值,類似於PreparedStatementsetXXX(),<sql:query><sql:update>的子標籤
<sql:dateParam> ----->
java.util.Date類型值設置SQL語句中標籤爲?的參數,是<sql:query><sql:update>的子標籤
<sql:update> ----->
用於執行inserupdatedelete語句,還可以執行SQL DDL語句
<sql:transaction> ----->
用於爲<sql:query><sql:update>子標籤建立事務處理上下文
XML
XML核心操作、XML流程控制操作、XML轉換操作)
如果需要配置Xalan處理器,將xalan,jar複製到%CATALINA_HOME%sharedlib目錄下即可

XML核心操作
<x:parse> ----->
用於解析XML文檔
<x:out> ----->
計算一個XPath表達式,並將結果輸出到當前的JspWirter對象,類似〈%=% or <c:out>
<x:set> ----->
計算一個XPath表達式,並將計算的結果保存到一個範圍變量中

XML流程控制操作(類似於Core標籤庫中的流程控制,不同的是,XML流程控制操作應用的是XPath表達式)
<x:if>
<x:choose>
<x:when>
<x:therwise>
<x:forEach>

XML轉換操作
<x:transform> ----->使指定的XSLT樣式錶轉換XML文檔
<x:param> ----->設置轉換的參數,在<x:transform>中嵌套使用
Funcions
fn:contains ----->判斷一個字符串是否還包含了指定的子串
fn:containslgnoreCase ------>判斷一個字符串是否包含了指定的子串,忽略大小寫
fn:startsWith ------>判斷一個字符串是否以指定的前綴字符串開頭
fn:endWith ------>判斷一個字符串是否以指定的後綴字符串結尾
fn:indexOf ------>在一個字符串中查找子串,並返回最先匹配的字符串的第一個字符的索引
fn:replace ------>將一個字符串中的某一部分替代另外的字符串,並返回替換都的結果
fn:substring ------>截取字符串中的某一部分
fn:substringBefore ------>返回一個字符串中指定子串之前的字符串
fn:substringAfter ------>返回一個字符串中指定子串之後的字符串
fn:split ------>將一個字符串拆分爲字符串數組
fn:join ------>將數組中所有的元素連接爲一個字符串
fn:toLowerCase ------>將字符串中所有的字符都轉換成小寫字符
fn:toUpperCase ------>將字符串中所有的字符都轉換成大寫字符
fn:trim ------>去掉字符串前後的空白符
fn:escapeXml ------>將字符串的字符“〈”、“〉”、“`”,“"”、“&”轉換成相對應的字符引用或預定義實體引用
fn:length ------>返回集合中元素的數目,或者字符串中字符的數目
<jsp:useBean />
<jsp:setProperty />
<jsp:forward />
<tom:hello name="Jack"/> -----> Custom Tag
如何使用JSTL
1、複製jstl的jar包(jstl.jar,standard.jar)到/WEB-INF/lib
2、在使用jstl功能的jsp頁面中增加指令
<
%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
<
%@taglib prefix=“x” uri=“http://java.sun.com/jsp/jstl/xml”%>
<
%@taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt>
<
%@taglib prefix=“sql” uri=“http://java.sun.com/jsp/jstl/sql”%>
<
%@taglib prefix=“fn”uri=“http://java.sun.com/jsp/jstl/functions”%>
  

發佈了28 篇原創文章 · 獲贊 1 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章