明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

JSP標(biāo)簽庫介紹 (2)轉(zhuǎn)

[摘要]什么是標(biāo)簽庫?JSP標(biāo)簽庫(也被稱作定制標(biāo)簽)是一種通過JavaBean生成基于XML的腳本的方法。從概念上將,標(biāo)簽就是很簡單而且可重用的代碼結(jié)構(gòu)。比方說,在我們最新發(fā)布的JSPKit(在JSP I...
什么是標(biāo)簽庫?
JSP標(biāo)簽庫(也被稱作定制標(biāo)簽)是一種通過JavaBean生成基于XML的腳本的方法。從概念上將,標(biāo)簽就是很簡單而且可重用的代碼結(jié)構(gòu)。比方說,在我們最新發(fā)布的JSPKit(在JSP Insider內(nèi))中,我們就使用XML標(biāo)簽實現(xiàn)了對XML文檔的輕松訪問。請看以下的清單A。

清單A:執(zhí)行XML/XSL 轉(zhuǎn)換的示例標(biāo)簽及其所在的HTML頁面

<%@ taglib uri="http://www.jspinsider.com/jspkit/JAXP" prefix="JAXP"%>
<JAXP:TransformerTag>
<JAXP:XMLFile>c:/xml/example.xml</JAXP:XMLFile>
<JAXP:XSLFile>c:/xml/example.xsl</JAXP:XSLFile>
</JAXP:TransformerTag>

以上的示例使用了簡單的標(biāo)簽來訪問處在幕后的更強大代碼。在以上的事例中首先裝載了一個XML文件,然后應(yīng)用了一個XSL文件來創(chuàng)建一個將被發(fā)送到客戶端的結(jié)果——這一切不過僅僅只是用了一個很簡單的標(biāo)簽。

定制標(biāo)簽使得JSP項目中很容易創(chuàng)建重用的開放源代碼模塊。而你的全部需要不過就是標(biāo)簽庫及其文檔。標(biāo)簽庫的重要特性如下所示:

易于安裝在多個項目上
標(biāo)簽很容易從一個JSP項目遷移到其他項目。一旦建立了一個標(biāo)簽庫,你只需要把這個個標(biāo)簽庫包裝成一個JAR文件就可以在其他JSP項目中重新使用了。不能重用的是你作為程序員在建立標(biāo)簽時所加進(jìn)標(biāo)簽的內(nèi)容。因為標(biāo)簽可以重新使用,所以標(biāo)簽庫可以輕松地用于你自己的項目。目前,最好的標(biāo)簽資源可以在JSPTags.com這個站點找到。.
擴展JSP
標(biāo)簽庫可以具備JSP規(guī)范(JSP 1.2)中的任何特性和功能。這也意味著你擁有了無限的能力可以擴展和增加JSP的強大功能卻無需等待新版本JSP的發(fā)布。所以說,你完全可以取消頁面上的JSP include調(diào)用了——只需用include標(biāo)簽建立自己的規(guī)范就可以了。
易于維護(hù)
標(biāo)簽庫使得JSP Web應(yīng)用程序變得很容易維護(hù)。主要有以下幾個原因:


標(biāo)簽對任何人而言都很容易使用、易于理解。
你的所有邏輯都駐留在處于中心的標(biāo)簽處理器和JavaBean內(nèi)。這樣一來,如果你不得不更新你的代碼,你只需要處理這些中心文件而無需修正使用這些代碼的其他頁面。
如果你需要增加新的功能,你不必改變?nèi)魏我呀?jīng)存在的頁面。你可以把額外的屬性包含到你的標(biāo)簽內(nèi)從而引進(jìn)新的行為同時保留以前的屬性,實現(xiàn)舊頁面的正常運行。

比方說,你可能有如下的一個標(biāo)簽,它讓你的文本都顯示藍(lán)色:

<BlueText>My Text</BlueText>

但是隨著項目的進(jìn)行,你又想讓藍(lán)色變暗。于是你保留自己的標(biāo)簽但是為其增加了一個新的屬性:shade

<BlueText shade="teal">My Text</BlueText>

所有的老標(biāo)簽繼續(xù)顯示藍(lán)色,但現(xiàn)在你可以使用同一標(biāo)簽來產(chǎn)生變暗的藍(lán)色文本了。


標(biāo)簽提升了代碼的重用性。那些經(jīng)過多次測試和使用的代碼肯定具有更少的bug。所以,使用定制標(biāo)簽的JSP頁面也同樣具有更少的缺陷,維護(hù)起來自然方便多了。
更快的開發(fā)速度
標(biāo)簽庫是一種重用代碼的好辦法。我們知道,服務(wù)器端語言標(biāo)準(zhǔn)的重用代碼方式是使用模版。標(biāo)簽庫和模版庫這種方式相比則好得多。采用模版庫,你就需要針對每個項目修改模版或者建立生硬的接口。標(biāo)簽庫則沒有這些限制,而其所具有的面向?qū)ο筇匦詣t讓標(biāo)簽庫不僅用法靈活而且擴展能力極為強大。還有,因為你重用代碼,結(jié)果在項目開發(fā)上花費的時間就大大降低了,而更多的時間則可以用來設(shè)計自己的Web應(yīng)用程序。標(biāo)簽庫的簡單接口使得這些代碼用法簡單、易于調(diào)試。
雖然標(biāo)簽庫用起來特別簡單,但是,建立其內(nèi)部支持層次可比建立簡單的JavaBean復(fù)雜多了。這種復(fù)雜性的主要原因在于標(biāo)簽庫包含了好幾個部分。而你所需要掌握的技能不過是理解、熟悉Java和JSP。