綜述:可擴展標注語言(eXtensible Markup Language,XML)正被迅速的運用於業界,它已作為與平台、語言和協議無關的格式描述和交換數據的廣泛應用標准。XML和它的輔助規范可用於描述數據的文檔表現,描述XML文檔類型的限制,描述XML文檔和資源之間的鏈接,描述XML文檔的自動轉換和格式化。
如何開發自定義標簽庫?
我使用JSP和ASP編程已經有一段頗長的時間了,在兩種服務器端的編程方式中,我越來越覺得JSP的功能要強大得多。不提別的,其中JSP的標簽庫就是我選擇JSP作為首選服務器端Web應用開發工具的原因。為什麼?因為:維護和開發的速度。在一個單一的服務器頁面中,你可以混合使用各種不同的腳本方法和對象。就?quot;混凝土"一樣,這種混合可令服務器端的腳本變得強大,並且讓服務器端的編程者設計出非常靈活和動態的Web頁面。不過這種自由的混合也有其缺點,那就是維護起來非常麻煩,特別是當項目逐漸變大時。由於最終的產品是經由一個傳統的Web設計者來維護的,因此會帶來問題。更糟糕的是,隨著代碼的復雜性增加,開發的速度就會變慢,不利於開發中等和大型的Web應用,一旦開發完,站點還要找合格的編程者來維護這些頗為復雜的代碼。
幸好,JSP提供了一個很好解決的辦法。標簽庫提供了一個簡單的方法來建立一個可重用的代碼塊。一旦標簽庫設計好,它就可以在許多項目中再次使用。更方便的是,與COM和J2EE不同,你無需學習任何其它的技巧就可以建立一個標簽庫!只要你懂得寫JSP,你就可以建立一個標簽庫。標簽庫還可以改善Web應用的維護。這個是得益於JSP頁面自定義標簽的簡單XML接口。這樣,Web設計者甚至可以做到無需知道任何JSP的知識,就可以建立JSP的Web應用。這個開放式的Web開發對於團隊運作是非常有效的。JSP編程者可以建立自定義的標簽和後台的代碼模塊,而Web設計者可以使用自定義的標簽來建立Web應用,並且將精力集中在Web設計上。
1. 標簽庫的定義
JSP標簽庫(也稱自定義庫)可看成是一套產生基於XML腳本的方法,它經由JavaBeans來支持。在概念上說,標簽庫是非常簡單和可以重用的代碼構造。
執行XML/XSL轉換的標簽范例和HTML頁面
<%@ taglib uri="http://www.jspinsider.com/jspkit/JAXP" prefix="JAXP"%>
c:/xml/example.xml
c:/xml/example.xsl
在這個例子中,通過使用簡單的標簽來訪問後台更為強大的代碼,一個XML被裝載,並且通過一個XSL文件來產生一個結果,並發送給客戶端,全部通過使用一個簡單的標簽調用就做到了。
自定義標簽為在JSP項目中創建易於重用的代碼打開了一扇大門。你所需要的只是標簽庫和它的文檔說明。
2. 標簽的組件
雖然標簽庫非常易於使用,不過要建立一個內裡的設計來支持標簽庫是頗復雜的,起碼要比建立一個簡單的JavaBean復雜。這個復雜是來自於標簽庫是由幾部分構成的。不過,你只需要知道Java和JSP的知識就夠了。
一個簡單的標簽由下面的元素構成:
⑴ JavaBeans:為了得到Java與生具來的面向對象的好處,可重用的代碼應該放到一個獨立的代碼容器中。這些JavaBeans並不是標簽庫的一部分。不過它是你的代碼庫用來執行相關任務的基本代碼塊。
⑵ 標簽處理:這是標簽庫的真正核心。一個標簽處理器將引用它需要的任何資源(你的JavaBeans)和訪問你的JSP頁面的全部信息(pageContext對象)。JSP頁面也會將所有已經被設置的標簽屬性和JSP頁面上的標簽體中的內容傳送給標簽處理器。在標簽處理器處理完畢後,它將發回輸出到你的JSP頁面進行處理。
⑶ 標簽庫的描述(tld文件):這是一個簡單的XML文件,它記錄著標簽處理器的屬性、信息和位置。JSP容器通過這個文件來得知從哪裡及如何調用一個標簽庫。
⑷ 網站的web.xml文件:這是你網站的初始化文件,在這個文件中,你定義了網站中用到的自定義標簽,以及哪個tld文件用來描述每個自定義的標簽。
⑸ 分發文件(一個WAR或者JAR文件):如果你想重用自定義標簽的話,你需要一個方法來將它由一個項目轉移到另一個項目中。將標簽庫打包為一個JAR文件是一個簡單而且有效的方式。
⑹ 在你的JSP文件中作標簽庫聲明:很簡單,如果要用到該標簽的話,只要在頁面聲明一下就可以,其後,你就可以在該JSP頁面的任何地方使用它。
看來要做的工作很多,不過其實並不是很難。它的要點並不在於編碼,而是在於如何將各部分正確地組織起來。不過,這樣的分層是很重要的,它可令標簽的使用靈活和更容易轉移。更重要的是,這些層的存在可讓處理建立標簽的工程通過一個JSP IDE(JSP的集成開發環境)自動完成。期望將來的JSP IDE可自動完成創建一個自定義標簽的大部分工作,這樣你只需要寫代碼和標簽處理就可以了。
注意:一個標簽處理僅定義一個自定義標簽;一個標簽庫是幾個處理相同任務的標簽處理器的集合。
本新聞共4頁,當前在第1頁 1 2 3 4
3. 建立自己的標簽