簡介:JSP 標準標記庫(Standard Tag Library,JSTL)是一組以標準化格式實現許多通用的Web網站 功能的定製標記。在 JSP 最佳實務這一部分,Brett McLaughlin將向您介紹JSTL,闡述如何轉變JSP頁面 來使用高功能性的標記。
JSP技術的優勢之一在於其定製標記庫工具。除了核心JSP標記,如 jsp:include 之外,定製標記庫工 具使您能夠建立唯一的標記來描述以網站或應用程式為導向的操作。一旦您建立了定製標記庫(簡稱 taglib),當您擴充項目或轉向另一個項目時您可以重複使用這些標記。您還可以將taglib傳遞給其它開 發人員,從而他們可以在自己的網站上使用,或者在您Web應用程式的其它部分使用。在這一系列的下一 部分,我將向您展示如何建立自己的定製標記庫,但現在我們將重點關注JSP標準標記庫(JSTL)。
JSTL實際上是一組標準化用於JSP 1.2的定製標記庫。許多JSTL標記都與核心JSP標記類似,但它們可 以提供更多的功能。例如, c:import 標記與我們在前一部分中介紹的 include 和 jsp:include 指令極 其類似(見 參考資料)。與include指令一樣, c:import 可以協助您讀取(populate)您Web網站或Web應 用程式的頁面,但其功能性擴充超出了核心JSP標記的範疇。
在 JSP最佳實務這一部分,我們將使用 c:import 標記來瞭解如何將Web頁面從JSP轉變成JSTL。但是 ,在開始使用新標記之前,我們需要將JSTL裝載到Web容器中。
JSTL 設定
雖然JSTL計劃捆綁到下一波Web容器中,但您目前必須自己進行設定。按以下步驟操作以將JSTL裝載到 Web容器中:
從 apache.org下載 jakarta-taglibs-standard-current.tar.gz 。
解壓縮下載的檔案。
將 jakarta-taglibs/standard-1.0.3/tld/c.tld 拷貝到 WEB/INF/tlds 目錄。
將 jakarta-taglibs/standard-1.0.3/lib 中的所有JAR檔案拷貝到 WEB-INF/lib 目錄。
將以下顯示的條目添加到 WEB-INF/web.xml 部署描述符中。 <taglib>
<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/tlds/c.tld</taglib-location>
</taglib>
重啟Web容器。
這是JSTL設定的速成版本,它可以滿足大多數情況。更詳細資料請參閱 參考資料部分。
聯合 JSTL標記
如果您希望在JSP頁面上使用任何JSTL標記,您首先必須在該頁面上聲明標記庫首碼和URL。我們正在 使用核心JSTL庫,因此使用的標準首碼是 c (代表 核心)。表1顯示增加了 taglib 指令的Web網站索引文 件: