推薦課程:Java教學
#JSP
標準標籤庫(JSTL)是一個JSP標籤集合,它封裝了JSP應用的通用核心功能。 JSTL支援通用的、結構化的任務,例如迭代,條件判斷,XML文檔操作,國際化標籤,SQL標籤。除了這些,它還提供了一個框架來使用整合JSTL的自訂標籤。從概念上講,標籤就是很簡單且可重複使用的程式碼結構。比方說,在最新發布的JSPKit(在JSP Insider內)中,使用XML標籤實現了對XML文件的輕鬆存取。
重要特性
易於安裝在多個專案上
#標籤很容易從一個JSP專案遷移到其他專案。一旦建立了一個標籤庫,則只需要將所有的東西打包為一個JAR文件,你就可以在任何的JSP專案中重新使用。因為標籤可以重新使用,標籤庫可以輕鬆地用於你自己的項目,所以標籤庫越來越通行。目前,最好的標籤資源可以在JSPTags.com這個網站找到。
可以無限制地擴展和增加JSP的功能
擴展JSP 標籤庫可以具備JSP規範(JSP 1.2)中的任何特性和功能,你可以無限制地擴展和增加JSP的功能,而無需要等待下一版JSP的出現。例如,你對JSP的include呼叫不太滿意。你可以建立自己的include標籤,該標籤執行的是你自己的規範。
容易維護
標籤庫使得JSP的web應用程式非常容易維護,原因有:
(1)標籤應用簡單,對任何人而言都很容易使用、容易理解。
(2)所有的程式邏輯程式碼都集中在的標籤處理器和JavaBeans。這意味著你在升級程式碼時,無需要對每個使用該程式碼的頁面進行修改,你只需要修改集中的程式碼檔案即可。
(3)如果需要加入新的功能,你也不需要修改任何已經存在的頁面,可以在標籤中加入額外的屬性,從而引進新的行為,而其它舊的屬性不變,這樣所有舊的頁面還可以正常工作。例如你有一個讓所有文字變藍的標籤:
但在後來專案中,你又想讓藍色變暗。你可以保留原有的標籤,只要為其增加一個新的屬性:shade ,如下所示:
所有舊的標籤仍然可以產生藍色的文本,但現在你可以使用同一標籤來產生變暗的藍色文本了。
(4)標籤提升了程式碼的重用性。那些經過多次測試和使用的程式碼肯定具有更少的bug。所以,使用客製化標籤的JSP頁面也同樣有更少的缺陷,維護起來自然方便多了。
快速的開發時間
標籤庫提供一個簡單的方式來重複使用程式碼。在伺服器端的語言中,其中一個標準的重用程式碼方式是使用模板。相對於使用範本庫,標籤庫是更好的解決方案。使用範本庫,你必須為每個專案修改範本或且建立嚴格的介面,而標籤庫則沒有這些限制,並且擁有所有物件導向的好處,可以做到靈活和更有擴展性,而且,透過重用程式碼,你可以花更少的時間來做開發,更多的時間可以用在設計你的web應用程式上。標籤庫的介面也很簡單,非常容易做插入、使用和調試。
標籤的組成結構
雖然標籤庫非常容易使用,不過要建立一個標籤庫的內部實作機制還是頗複雜的,起碼要比建立一個簡單的JavaBean複雜。這個複雜是來自於標籤庫是由幾個部分構成的。不過,你只需要掌握了Java和JSP的知識就夠了。
一個簡單的標籤由下面的元素構成:
1. JavaBean:為了得到Java與生具來的物件導向的好處,可重複使用的程式碼應該放到一個獨立的程式碼容器中,也就是JavaBean。這些JavaBeans並不是標籤庫必不可少的一部分,但它們是標籤庫用來執行所指派任務的基礎程式碼模組。
2.標籤處理器:標籤處理器是標籤庫的真正核心。一個標籤處理器(tag handler)引用它所需要的任何外部資源(JavaBean)並且負責存取JSP頁面的資訊(PageContext物件)。而JSP頁面則把頁面上設定的標籤屬性和標籤體中的內容都傳遞給標籤處理器,當標籤處理器完成其處理過程後,它就會把處理後的輸出結果回送給JSP頁面做進一步處理。
3.標籤庫描述符(TLD文件):這是一個簡單的XML文件,它記錄標籤處理器的屬性、資訊和位置等資訊。 JSP容器透過這個檔案來得知從哪裡及如何呼叫一個標籤庫。
4. Web網站的web.xml檔案:這是Web網站的初始化文件,在這個檔案中,需要定義了Web網站中使用的自訂標籤,以及用來描述每個自訂標籤的tld檔案。
5.發布檔案(WAR或JAR檔案):如果你想重複使用自訂標籤的話,你需要一個方法來將它由一個專案遷移到其他專案中去。將標籤庫打包為一個JAR檔案是一個簡單且有效的方式。
6. JSP頁面上的標籤庫聲明:要在JSP頁面中的使用某個自訂標籤的話,需要使用標籤庫標示符在頁面上進行聲明。
看來要做的工作很多,剛開始用的時候當然會有點棘手,不過其實不是很難。它的要點並不在於編碼,而是如何將各部分正確地組織起來。這種層次性的結構是很重要的,它令標籤的使用變得靈活且更容易轉移。更重要的事,這些層次可以讓整個建立標籤庫的過程都能透過JSP IDE(JSP的整合開發環境)自動完成。 JSP IDE更可以自動完成創建自訂標籤的大部分工作,而你自己則只需要負責建立程式碼和標籤處理器。 (注意:一個標籤處理器只定義一個自訂標籤;一個標籤庫是幾個處理相同任務的標籤處理器的集合)
在這篇文章中只簡要地討論了標籤庫的好處。標籤庫實際上還有許多其它強大的功能。標籤庫促使JSP開發進入了前所未有的新天地。對JSP開發人員來說這確實是一種很令人振奮的新技術,因為他們得到了一個可將JSP轉到各個應用並且建立任何類型web應用的工具。標籤庫讓JSP變成了最豐富、最具動態開發能力的、強大的Web程式設計環境。它的功能只受我們的想像和創造力限制。
以上是什麼是jsp標籤庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!