1, 首先建一个类,类名如HelloTag,继承BodyTagSupport类,继承方法有:Int doStartTag(),setBodyContent(BodyContent bodyContend),doInitBody(),int doAfterBody(), int doEndTag(),release()六个方法;
2, 其中六个方法中doStartTag()方法的返回值为EVAL_BODY_BUFFERED,doAfterBody()方法的返回值为SKIN_BODY,doEndTag()方法的返回值为EVAL_PAGE;
3, 创建.tld文件:
在WEB_INF文件下面建立一个文件夹tld,在此文件夹下面建立HelloTag.tld文件,其配置如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> <!-- a tab library descriptor --> <taglib xmlns="http://java.sun.com/JSP/TagLibraryDescriptor"> <tlib-version>1.0</tlib-version> <jsp-version>1.2</jsp-version> <short-name>Simple Tags</short-name> <uri>http://mytag.HelloTag.com</uri>//可有可无 <tag> <name>hellotag</name>//这个为标签的名字 <tag-class>com.common.HelloTag</tag-class> <attribute> <name>color</name>//这个为标签的属性 <required>true</required>//此属相是否为默认属性 </attribute> </tag> </taglib>
4,在HelloTag.java中添加属性
添加的属性名字必须要与上面的.tld文件中设置的属性相同,然后属性要有set()方法。
5,在JSP页面中使用自定义标签
首先添加头文件:
<%@ taglib uri="/WEB-INF/tld/HelloTag.tld" prefix="hello" %>
<hello:hellotag color=”red”>Hello!This is a new Tag.</hello:hellotag>
实例下载: |