所谓上层标签就如下面的bbb标签的上层标签就是aaa
<test:aaa> <test:bbb> </test:bbb> </test:aaa>
定义一个处理类MyTag.java
package com.test.tag;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
public class MyTag extends TagSupport {
public int doStartTag() throws JspException {
try {
//向页面输出字符串
this.pageContext.getOut().println("hello world");
} catch (Exception e) {
e.printStackTrace();
}
return EVAL_BODY_INCLUDE;
}
public int doEndTag() throws JspException {
try {
//向页面输出字符串
this.pageContext.getOut().println("welcome!");
} catch (Exception e) {
e.printStackTrace();
}
return EVAL_PAGE;
}
}
在web-inf目录下新建myTag.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"> <taglib> <tlib-version>1.0</tlib-version> <jsp-version>1.1</jsp-version> <short-name>myTag</short-name> <uri>/myTag</uri> <tag> <name>firstTag</name> <tag-class>com.test.tag.MyTag</tag-class> <body-content>empty</body-content> </tag> </taglib>
在Tag1.jsp页面中引用此标签
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/myTag" prefix="hello"%>
<html>
<body>
<p><font color="blue"><hello:firstTag/></font></p>
</body>
</html>
最后在浏览器页面中打印出hello world welcome!