1、 編寫一個實現tag接口的實現類
2、 在tld文件中對標簽處理器類進行描述(放在WEB-INF目錄下)
可以復制並修改E:\study\tomcat\apache-tomcat-7.0.22\apache-tomcat-7.0.22\webapps\examples\WEB-INF\jsp2中的xml代碼
class3g.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/j2eehttp://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>There are my custom tags.</description>
<tlib-version>1.0</tlib-version>
<short-name>Class3g</short-name>
<uri>http://www.class3g.com</uri>
<tag>
<description>showthe romete address</description>
<name>viewIP</name>
<tag-class>class3g.web.tag.ViewIpTag</tag-class>
<body-content>empty</body-content>
</tag> www.2cto.com
</taglib>
3、 在jsp中導入並使用自定義標簽
<%@ taglib uri="http://www.class3g.com"prefix="class3g" %>
TagSupport類的生命周期
建立標簽處理對象,然後將自定義標簽的屬性值存入標簽處理對象,往裡傳值,調用doStartTag()方法,doStartTag()方法如果返回SKIP_BODY標簽體將不被執行,直接進入doEndTag()方法,doEndTag()方法如果返回EVAL_PAGE則據需用心JSP網頁的其他內容,如果返回SKIP_PAGE則忽略JSP網頁的其他內容。doStartTag()方法如果返回EVAL_BODY_INCLUDE則標簽體被執行,如果doAfterBoda()不被覆蓋,相當於返回SKIP_BODY,標簽體顯示一次,接著運行doEndTag()方法;如果覆蓋doAfterBoda()第一次顯示完標簽內容後返回EVAL_BODY_AGAIN,重新顯示主體內容,一直到返回SKIP_BODYZ運行doEndTag()方法
作者 程龍