JSP最佳實(shí)踐 使用JSTL來更新JSP頁(yè)面
JSP技術(shù)的優(yōu)勢(shì)之一在于其定制標(biāo)記庫(kù)工具。除了核心JSP標(biāo)記,如 jsp:include 之外,定制標(biāo)記庫(kù)工具使您能夠創(chuàng)建唯一的標(biāo)記來描述以站點(diǎn)或應(yīng)用程序?yàn)閷?dǎo)向的操作。一旦您創(chuàng)建了定制標(biāo)記庫(kù)(簡(jiǎn)稱 taglib),當(dāng)您擴(kuò)展項(xiàng)目或轉(zhuǎn)向另一個(gè)項(xiàng)目時(shí)您可以重復(fù)使用這些標(biāo)記。您還可以將taglib傳遞給其它開發(fā)人員,從而他們可以在自己的網(wǎng)站上使用,或者在您Web應(yīng)用程序的其它部分使用。在這一系列的下一部分,我將向您展示如何創(chuàng)建自己的定制標(biāo)記庫(kù),但現(xiàn)在我們將重點(diǎn)關(guān)注JSP標(biāo)準(zhǔn)標(biāo)記庫(kù)(JSTL)。
JSTL實(shí)際上是一組標(biāo)準(zhǔn)化用于JSP 1.2的定制標(biāo)記庫(kù)。許多JSTL標(biāo)記都與核心JSP標(biāo)記類似,但它們可以提供更多的功能。例如, c:import 標(biāo)記與我們?cè)谇耙徊糠种薪榻B的 include 和 jsp:include 指令極其類似(見 參考資料)。 與include指令一樣, c:import 可以幫助您讀?。╬opulate)您Web站點(diǎn)或Web應(yīng)用程序的頁(yè)面,但其功能性擴(kuò)展超出了核心JSP標(biāo)記的范疇。
在 JSP最佳實(shí)踐這一部分,我們將使用 c:import 標(biāo)記來了解如何將Web頁(yè)面從JSP轉(zhuǎn)變成JSTL。但是,在開始使用新標(biāo)記之前,我們需要將JSTL裝載到Web容器中。
JSTL 設(shè)置
雖然JSTL計(jì)劃捆綁到下一波Web容器中,但您目前必須自己進(jìn)行設(shè)置。按以下步驟操作以將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 部署描述符中。
|
#p#
重啟Web容器。
這是JSTL設(shè)置的速成版本,它可以滿足大多數(shù)情況。更詳細(xì)信息請(qǐng)參閱 參考資料部分。
聯(lián)合JSTL標(biāo)記
如果您希望在JSP頁(yè)面上使用任何JSTL標(biāo)記,您首先必須在該頁(yè)面上聲明標(biāo)記庫(kù)前綴和URL。我們正在使用核心JSTL庫(kù),因此使用的標(biāo)準(zhǔn)前綴是 c (代表 核心)。表1顯示增加了 taglib 指令的Web站點(diǎn)索引文件:
表1:索引文件的taglib指令
在向JSP頁(yè)面添加了JSTL taglib之后,您可以使用核心庫(kù)中的任何標(biāo)記,只需把標(biāo)記的前綴改為 c 。為了了解這一流程,我們將嘗試把頁(yè)面從 jsp:include 標(biāo)記轉(zhuǎn)換成 c:import 標(biāo)記。 表2顯示了本系列第二部分介紹的 jsp:include 實(shí)例(見 參考資料)轉(zhuǎn)為使用新 c:import 標(biāo)記。
表2:轉(zhuǎn)為JSTL
【編輯推薦】