隨著J2EE瘦客戶機技術JavaServer Pages(JSP)在過去幾年中的流行,獨立開發人員已經創建了許多自定義的JSP標記庫。雖然很多標記庫是編寫用來實現不同目標的,但它們往往也對迭代、條件及其他通用操作都提供了類似的解決方案。
為了減少對解決類似通用問題的獨立標記庫的需求,在Java Community Process(JSR 52)的贊助下創建了JSTL(JavaServer Pages Standard Tag Library,JSP)標准標記庫,為解決這些通用功能提供一個單一的標准解決方案。
JSTL庫
JSTL特別為條件處理、迭代、國際化、數據庫訪問和可擴展標記語言(XML)處理提供支持。JSTL還引入了expression language(EL,表達式語言),極大地簡化了對JSP中應用數據的訪問和操作。JSTL包括4個JSP 1.2自定義標記庫,每一個都涵蓋了一個特定的功能領域。
核心(Core)標記庫為日常任務提供通用支持,如顯示和設置變量、重復使用一組項目、測試條件以及其他操作(如導入和重定向Web內容)。
XML標記庫提供了對XML處理和操作的支持,包括XML節點的解析、迭代、基於XML數據的條件評估以及可擴展樣式表語言轉換(Extensible Style Language Transformations,XSLT)的執行。
國際化(Internationalization)標記庫支持多語種的應用程序。
數據庫(Database)標記庫對訪問和修改數據庫數據提供標准化支持。
表1:JSTL的四個標記庫
功能領域
URI
前綴
例子
核心(Core)
http://java.sun.com/jstl/core
c
<c:tagname ...>
XML
http://java.sun.com/jstl/xml
x
<x:tagname ...>
國際化(Internationalization)
http://java.sun.com/jstl/fmt
fmt
<fmt:tagname ...>
數據庫(Database)
http://java.sun.com/jstl/sql
sql
<sql:tagname ...>
JSTL入門
初步了解JSTL的最好方法是訪問Apache網站--jakarta.apache.org,並下載JSTL的參考實現。在Apache站點還可找到詳細的安裝指南。可下載的參考實現是一個JAR文件、文檔和簡單代碼示例的組合包。
要在你的J2EE Web應用程序中使用JSTL,只需簡單地將"lib"目錄下的JSTL JAR文件復制到你應用程序的WEB-INF/lib目錄下。要在一個特定的JSP中使用JSTL標記,你還必須提供一個taglib指令。例如,要將"核心"JSTL庫導入到你的頁面中,你應該在你的JSP頂端包含下面的指令,如下所示: