【原創】JSP標籤簡介
JSP標籤(JSP Tag Library)技術是在JSP1.1版本中才出現的,它支援使用者在JSP檔案中使用自定義的標籤。通過JSP標籤可以進一步使程式碼更簡潔,逐漸把需要使用Java類才能處理的邏輯分離出來,放到JSP標籤中,這樣也可以進一步提高程式碼的複用程度。
要自定義JSP標籤要涉及到標籤的處理類、標籤的描述檔案以及如何引用標籤等幾個方面的內容。
一、標籤的處理過程
WEB容器解析JSP頁面時,如果發現自定義標籤,則會在JSP中尋找該標籤引用的URI:例如JSP檔案頭部的引用,此時它會找到該標籤的uri ,uri 的屬性“/hellokitty.tld”在web.xml中已經定義了,例如:
此時WEB容器會通過uri在web.xml中查詢到該標籤的描述檔案tld,例如“/WEB-INF/ hellokitty.tld”。而在tld描述檔案中又定義了該標籤的處理類,例如hellokitty.tld中有如下定義:
要建立自定義的標籤,可分為如下幾步:
1. 建立標籤描述檔案。
在WEB-INF下新建一個tld檔案,該檔案描述了此tld檔案將由哪些標籤處理類完成操作,並且定義了該標籤的屬性。
2. 建立標籤處理類。
標籤處理類繼承於TagSupport類或TagSupport類的子類,可覆蓋處理標籤的方法,例如doEndTag()方法,實現自定義標籤。
3. 修改web.xml檔案。
在web.xml中下新增節點,將標籤的uri與具體標籤描述檔案繫結,例如:
4、在JSP頁面中使用標籤
首先在頁面中匯入標籤,例如表示標籤字首為“dada”的標籤將呼叫uri指定的標籤,uri可以隨便起名字,但一定要和web.xml中定義的uri相對應。匯入標籤後就可以在JSP頁面中直接使用標籤,例如:
二、標籤的描述檔案
標籤的描述檔案是一個描述整個標籤庫標記資訊和標籤庫中每個標籤處理器以及其屬性的XML文件。可以包含如下的一些元素。
1. tlibversion:標籤庫版本號,是一個點式十進位制數(例如1.0),最多為4組小數點分隔的數字組成。
2. jspversion:標籤庫所需的JSP規範最低版本,例如JSP1.1。
3. shortname:標籤庫的縮寫名,JSP可以使用該名字作為庫中標籤的預設字首。
4. uri:標籤庫唯一URI的元素。
5. info:標籤庫描述資訊。
6. tag:加入標籤,描述組成庫的每個標籤。
在tag元素中包含標籤及其屬性的資訊:
1. name:與標籤庫的名字字首一起使用的標籤的名字, 是JSP容器唯一的標籤標識。
2. tagclass:實現標籤的標籤處理器類的全名。
3. teiclass:標籤附加資訊(TEI)類的全名,TEI類給出關於標籤處理器建立變數及有效性驗證的資訊。
4. bodycontent:描述標籤處理器如何使用標籤體的內容,有三種取值:
l empty:表示標籤體必須為空;
l JSP:表示指令碼元素和模板及其它標籤一樣被評估。
l tagdependent:內容被原封不動寫入BodyContent,其它指令碼元素以原始碼形式出現,而不被JSP容器解釋。
5. info:標籤的描述性資訊。
6. attribute:使用標籤時被編碼的屬性資訊,用於定義標籤的屬性。
“attribute”元素中又可以包含下面幾個元素:
1. name:屬性的名字。
2. required:屬性是否必須。
3. rtexprvalue:屬性值能否用表示式指定。
標籤描述檔案中tag和attribute是可以有子元素的,例如:
如果要在JSP頁面中實現JSP標籤,必須首先定義實現標籤的類,然後在標籤庫描述檔案(TLD)中將寫好的類對映成JSP標籤,最後在JSP檔案中使用定義好的標籤,就可以生成動態的JSP內容。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13081368/viewspace-441762/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JSP簡單標籤標籤庫開發JS
- JSP 自定義標籤介紹JS
- JSP標籤庫介紹(1)什麼是標籤庫? (轉)JS
- JSP標籤庫介紹(1)定製標籤內幕 (轉)JS
- JSP自定義標籤就是如此簡單JS
- HTML簡介,結構,標籤以及標籤語義HTML
- canvas標籤簡單介紹Canvas
- JSP標籤庫介紹(1)綜述 (轉)JS
- jsp標籤jsp:useBean用法JSBean
- SpringMVC表單標籤簡介SpringMVC
- 【原創】Web.xml簡介WebXML
- JSP第五篇【JSTL的介紹、core標籤庫、fn方法庫、fmt標籤庫】JS
- 標籤的alt屬性簡單介紹
- meta標籤的viewport用法簡單介紹View
- JSP自定義標籤之三:為標籤新增屬性JS
- 使用自定義tld標籤簡化jsp的繁瑣操作JS
- Jsp中param標籤的使用JS
- jsp定製分頁標籤JS
- 位運算解決多標籤問題【原創】
- JSP第六篇【自定義標籤之傳統標籤】JS
- <img>標籤的alt屬性簡單介紹
- HTML5 <datalist>標籤用法簡答介紹HTML
- JSP C 標籤的常見用法JS
- jsp 介面標籤頁 新增圖示JS
- 【原創】REDIS與MYSQL實現標籤的對比薦RedisMySql
- 【原創】Struts1.x系列教程(6):Bean標籤庫Bean
- <style>標籤的scoped屬性用法簡單介紹
- 如何用jsp:setproperty標籤為自己寫的標籤類賦屬性JS
- 【原創】Struts1.x系列教程(7):Logic標籤庫
- jsp如何自定義tag的標籤庫?JS
- FusionChartsFree的JSP標籤開發薦JS
- jsp中c標籤的詳細使用JS
- JSP自定義標籤系列---rtexprvalue屬性JS
- HTML常用標籤介紹HTML
- form標籤的enctype屬性的作用簡單介紹ORM
- jsp標籤相關問題;推薦大家一個霸氣的標籤fnJS
- HTML之簡單標籤HTML
- 實戰練習之Jsp自定義標籤JS