簡介
JSTL的英文全稱是JavaServer Pages Standard Tag Library,中文全稱是JSP標準標識庫。JSTL技術標準是由JCP(lava Community Process)組織的JSR052專家組發布,Apache組織將其列入Jakarta項目,Sun公司將JSTL的程式包加入網際網路服務開發工具包內(Web Services Developer Pack(WSDP)),作為JSP技術套用的一個標準。
JSTL標籤是基於JSP頁面的,這些標籤可以插入在JSP代碼中,本質上JSTL也是提前定義好的一組標籤,這些標籤封裝了不同的功能,在頁面上調用標籤時,就等於調用了封裝起來的功能。JSTL的目標是簡化JSP頁面的設計。對於頁面設計人員來說,使用腳本語言操作動態數據是比較困難的,而採用標籤和表達式語言則相對容易,JSTL的使用為頁面設計人員和程式開發人員的分工協作提供了便利。
JSTL標識庫的作用是減少JSP檔案的Java代碼,使Java代碼與HTML代碼分離,所以JSTL標識庫符合
MVC設計理念。MVC設計理念的優勢是將動作控制、數據處理、結果顯示三者分離。
產生背景
在JSP誕生之初,
JSP提供了在
HTML代碼中嵌入
Java代碼的特性,這使得開發者可以利用Java語言的優勢來完成許多複雜的業務邏輯。但是,隨後開發者發現在HTML代碼中嵌入過多的Java代碼,程式設計師對於動輒上千行的JSP代碼基本喪失了維護能力,非常不利於JSP的維護和擴展。基於上述的這個問題,開發者嘗試著使用一種新的技術來解決上面這些問題。因此,從JSP1.1規範後,JSP增加了自定義標籤庫的支持,提供了Java腳本的復用性,提高了開發者的開發效率。
JSTL是
SUN公司發布的一個針對JSP開發的新組件。JSTL允許用戶使用標籤(Tags)來進行JSP頁面開發,而不是使用傳統的JSP腳本代碼方式開發。JSTL幾乎能夠做到傳統JSP腳本代碼能做的任何事情。
主要組成
JSTL包含了和以下操作相關的標籤:
1、核心標籤:核心標籤庫是整個JSTL中最常用的部分,主要由以下幾部分組成:基本輸入輸出、流程控制、疊代操作和URL操作。負責Web套用的常見工作,如:循環、表達式賦值、基本輸入輸出等。
2、I18N格式標籤庫:用來格式化顯示數據的工作如:對不同區域的日期格式化等。
3、XML標籤庫:用來訪問XML檔案的工作,支持JSP對XML文檔的處理。
4、資料庫標籤庫:SQL標籤庫包括了大部分訪問
資料庫的邏輯操作,包括查詢、更新、事務處理、設定數據源等。可以做訪問資料庫的工作。
5、函式標籤庫:用來讀取已經定義的某個函式。
優點
JSTL的優點如下:
1、簡化了JSP和Web應用程式的開發。
2、在應用程式伺服器之間提供了一致的接口,最大限度地提高了·Web套用在各套用伺服器之間的移植。
3、允許JSP設計工具與Web應用程式開發的進一步集成。相信不久就會有支持JSTL的IDE開發工具出現。
4、以一種統一的方式減少了JSP中的Scriptlets代碼數量,可以達到程式中沒有任何Scriptlest代碼。
JSTL封裝了JSP開發中的常用功能。比如說,在沒有JSTL時,通過Scriptlets來疊代輸出某個List(Set),有了JSTL,就可以使用它的一系列的Tag進行疊代輸出。由於JSTL是JSP2.0規範的一部分,所以最新的Web容器都會支持它。
使用條件
在JSP中使用JSTL標籤需要具備如下兩個條件。
條件二:要在JSP中使用JSTL標籤,還需要下載安裝JSTL實現(Implementation)。
JSTL1.2實現的下載地址為:https:jstl.dev.java.net,下載檔案為jstl-impl-1.2.jar,將該檔案複製到Web應用程式的WEB-INFlib資料夾中即可使用JSTL。
JSTL1.0實現的下載地址為:http://www.apache.org/dist/jakarta/taglibs/standard/,Windows用戶下載jakarta-taglibs-standard-current.zip。下載後解壓,在lib資料夾中有兩個檔案:
·jstl.jar;
·standard.jar.
將這兩個檔案複製到Web應用程式的WEB-INFlib資料夾中即可使用JSTL。