天天看點

JSTL(JSP Standard Tag Library)

JSP 标準标記庫(JSP Standard Tag Library,JSTL)是一個實作 Web 應用程式中常見的通用功能的定制标記庫集,這些功能包括疊代和條件判斷、資料管理格式化、XML 操作以及資料庫通路。

JSTL标簽庫的使用是為類彌補html表的不足,規範自定義标簽的使用而誕生的。在告别modle1模式開發應用程式後,人們開始注重軟體的分層設計,不希望在jsp頁面中出現java邏輯代碼,同時也由于自定義标簽的開發難度較大和不利于技術标準化産生了自定義标簽庫。JSTL标簽庫可分為5類:

         核心标簽庫

        I18N格式化标簽庫

       SQL标簽庫

       XML标簽庫

        函數标簽庫

基本定義:

JSTL是一個不斷完善的開放源代碼的JSP标簽庫,是由apache的jakarta小組來維護的。JSTL隻能運作在支援JSP1.2和Servlet2.3規範的容器上,如tomcat 4.x。但是在即将推出的JSP 2.0中是作為标準支援的。

  JSTL 1.0 釋出于 2002 年 6 月,由四個定制标記庫(core、format、xml 和 sql)和一對通用标記庫驗證器(ScriptFreeTLV 和 PermittedTaglibsTLV)組成。core 标記庫提供了定制操作,通過限制了作用域的變量管理資料,以及執行頁面内容的疊代和條件操作。它還提供了用來生成和操作 URL 的标記。顧名思義,format 标記庫定義了用來格式化資料(尤其是數字和日期)的操作。它還支援使用本地化資源束進行 JSP 頁面的國際化。xml 庫包含一些标記,這些标記用來操作通過 XML 表示的資料,而 sql 庫定義了用來查詢關系資料庫的操作。

  兩個 JSTL 标記庫驗證器允許開發人員在其 JSP 應用程式中強制使用編碼标準。可以配置 ScriptFreeTLV 驗證器以在 JSP 頁面中禁用各種類型的 JSP 腳本元素 — scriptlet、表達式和聲明。類似地,PermittedTaglibsTLV 驗證器可以用來限制可能由應用程式的 JSP 頁面通路的定制标記庫集(包括 JSTL 标記庫)。

  盡管 JSTL 最終将會成為 J2EE 平台的必需元件,但目前隻有少數應用程式伺服器包括它。JSTL 1.0 的參考實作可作為 Apache 軟體基金會(Apache Software Foundation)的 Jakarta Taglibs 項目(請參閱參考資料)的一部分而獲得。可以将該參考實作中的定制标記庫合并到任何支援 JSP 1.2 和 Servlet 2.3 規範的伺服器,以添加對 JSTL 的支援。

  如果要使用JSTL,則必須将jstl.jar和 standard.jar檔案放到classpath中,如果你還需要使用XML processing及Database access (SQL)标簽,還要将相關JAR檔案放到classpath中,這些JAR檔案全部存在于下載下傳回來的zip檔案中。這個zip檔案可以從http://jakarta.apacheorg/builds/jakarta-taglibs/releases/standard/jakarta-taglibs-standard-1.0.zip下載下傳。

核心标簽庫   

JSTL的核心标簽庫标簽共13個,從功能上可以分為4類:表達式控制标簽、流程控制标簽、循環标簽、URL操作标簽。使用這些标簽能夠完成JSP頁面的基本功能,減少編碼工作。

(1)表達式控制标簽:out标簽、set标簽、remove标簽、catch标簽。

(2)流程控制标簽:if标簽、choose标簽、when标簽、otherwise标簽。

(3)循環标簽:forEach标簽、forTokens标簽。

(4)URL操作标簽:import标簽、url标簽、redirect标簽。

在JSP頁面引入核心标簽庫的代碼為:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>