自定義標籤的開發步驟:定義一個標籤處理類;定義描述文件;根據描述文件處理標籤
定義描述文件的過程:在WEB-INF下創建一個tld文件,複製apache-tomcat-7.0.22\webapps\examples\WEB-INF\jsp2目錄下的jsp2-example-taglib文件的頭信息和一個<tag>標籤內信息到這個事先創建好的tld文件中,並作出相應修改。
tld部分文件內容的解釋:
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<!—-此標籤庫的一個簡短描述-->
<description>there are custom tags of tag</description>
<!—-此標籤庫的版本,由標籤開發者自行決定(必須元素)-->
<tlib-version>1.0</tlib-version>
<!—-定義一個簡短的名稱,主要是給一些工具使用(必須元素)-->
<short-name>tag</short-name>
<!—-定義此標籤庫的uri路徑,用於唯一標識該數據庫,便於頁面的引用-->
<uri>http://cn.csdn.web.tag</uri>
<!—-此標籤庫中的一個標籤處理器的聲明-->
<tag>
<!—-該標籤處理器的一個簡短描述-->
<description>view ip of client</description>
<!—-該標籤名稱(必須元素)-->
<name>ViewIP</name>
<!—-該標籤處理類的全限定名(必須元素)-->
<tag-class>cn.csdn.web.tag.ViewIP</tag-class>
<!—-指明該標籤主題類型)-->
<body-content>empty</body-content>
</tag>
</taglib>
tld文件中要注意的事項:
必須建立在WEB-INF目錄下;
<body-content></body-content>中指定標籤體的格式有四種:
empty:表示標籤沒有標籤體
scriptless:表示標籤體可以包含EL表達式和JSP的動作元素,但不能包含腳本表達式
JSP:表示標籤體可以包含JSP代碼
tagdependent:表示標籤體由標籤本身去解析處理。若指定tagdependent,那麼在標籤體中所寫的代碼將作爲純文本原封不動地傳給標籤處理類,而不是將執行結果傳給標籤處理類