建立文件:
SelfTag:自己创建的类(名字随便起)
tag.tld:标签库的自定义文件(后缀必须为 .tld)
web.xml:用于映射标签库的地址
TestTag.jsp:测试使用的jsp
SelfTag类
package com.Tag;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
import com.entity.Student;
public class SelfTag extends TagSupport{
private static final long serialVersionUID = 1L;
@Override
public int doStartTag() throws JspException {
JspWriter out = this.pageContext.getOut();
try {
out.print("自定义标签库!");
} catch (IOException e) {
throw new RuntimeException(e);
}
return super.doStartTag();
}
}
Tag.tld文件 注: .tld 标签库自定义文件放在 WEB.INF下面
<?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/j2ee web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>JSTL 1.1 core library</description>
<display-name>JSTL core</display-name>
<tlib-version>1.1</tlib-version>
<short-name>weijia</short-name>
<uri>SelfTag</uri>
<!-- 显示IP地址 -->
<tag> -- 一个tag等于一个标签
<name>viewIP</name> -- 调用单个标签时用得名字
<tag-class>com.Tag.SelfTag</tag-class> -- 标签调用的类的全路径 (这里调用的是上面的SelfTag)
<body-content>empty</body-content> -- 标准 empty
</tag>
</taglib>
Web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<taglib>
<taglib-uri>SelfTag</taglib-uri> 页面和tag.tld文件之间的映射(这里的 <taglib-uri> 等于 tag.tld 的 <uri>)
<taglib-location>/WEB-INF/tag.tld</taglib-location> tag.tld文件的地址
</taglib>
TestTag.jsp
运行效果 :