標籤程序 HelloTag_Interface.java
package tag;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import java.util.Hashtable;
import java.io.Writer;
import java.io.IOException;
import java.util.Date;
public class HelloTag_Interface implements javax.servlet.jsp.tagext.Tag {
private PageContext pageContext;
private Tag parent;
public HelloTag_Interface() {
super();
}
public void setPageContext(final javax.servlet.jsp.PageContext pageContext) {
this.pageContext = pageContext;
}
public void setParent(final javax.servlet.jsp.tagext.Tag parent) {
this.parent = parent;
}
public int doStartTag() throws javax.servlet.jsp.JspTagException {
return SKIP_BODY;
}
public int doEndTag() throws javax.servlet.jsp.JspTagException {
try {
pageContext.getOut().write("Hello, World!");
} catch(java.io.IOException e) {
throw new JspTagException("IO Error" + e.getMessage());
}
return EVAL_PAGE;
}
public void release() {}
public javax.servlet.jsp.tagext.Tag getParent() {
return parent;
}
}
標籤庫描述文件mytag.tld
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE taglib PUBLIC
"-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>User</shortname>
<info>
This tag library contains employee tag extensions
</info>
<tag>
<name>hello_int</name>
<tag-class>tag.HelloTag_Interface</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
web.xml文件的配置
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
<taglib>
<taglib-uri>/demotag</taglib>
<taglib-location>/WEB-INF/mytag.tld</taglib-location>
</taglib>
</web-app>
顯示頁面
<%@ taglib uri="/demotag" prefix="hello" %>
<%@ page contentType="text/html;charset=gb2312" language="java"%>
<html>
<head>
<title>first cumstomed</title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
</head>
<body>
<p>以上的內容從taglib中顯示:</p>
<p><i><hello:hello_int/></i><p>
</body>
</html>