一.定义MyTag.java类
public class MyTag extends TagSupport{
public String username="";
public int doEndTag() throws JspException {
JspWriter out = pageContext.getOut();
try {
out.print("<table border=\"1\">");
out.print("<tr>");
out.print("<td>"+username+"");
out.print("</td>");
out.print("</tr>");
out.print("</table>");
out.flush();
//out.close();
} catch (IOException e) {
e.printStackTrace();
}
return TagSupport.EVAL_PAGE;//<body-content>设置不为空,则必须返回 EVAL_BODY_INCLUDE
}
public void setUsername(String username) { //必须有该方法
this.username = username;
}
}
二、myTag_1.tld(TlD文件 放在WEB-INF下)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "web-
jsptaglibrary_1_2.dtd" >
<taglib>
<tlib-version>tlib-version</tlib-version>
<jsp-version>jsp-version</jsp-version>
<short-name>myTag</short-name> <!-- 最好和下面的名字一样 -->
<tag>
<name>myTag</name>
<tag-class>com.tjw.customTag.MyTag</tag-class>
<body-content>empty</body-content> <!--empty表示为空不能加内容(即<input />),jsp表示内容为jsp,tagdependent表示内容由标签去解析-->
<attribute> <!--传入名配置属性-->
<name>username</name> <!--必须和ShowTable.java中的username同名-->
<required>true</required>
<rtexprvalue>true</rtexprvalue> <!--可以使用EL-->
</attribute>
</tag>
</taglib>
三、jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="mt" uri="WEB-INF/myTag_1.tld" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
This is my JSP page. <br>
<br>
<mt:myTag username="hello good!" />
</body>
</html>
四、浏览器查看源代码,显示为
<body>
This is my JSP page. <br>
<br>
<table border="1"><tr><td>hello good!</td></tr></table>
</body>