在JSP2中开发标签库需要以下几个步骤:
1.开发自定义标签处理类;
2.建立一个*.tld文件,每个*.tld文件对应一个标签库,每个标签库可包含多个标签;
3.在JSP文件中使用自定义标签。
第一步骤:开发自定义标签类。标签类需要继承javax.servlet.jsp.SimpleTagSupport;如果标签类包含属性,每个属性都要有getter和setter方法;
重写doTag()方法,这个方法负责生成页码内容。
比如以下代码:
1 package lee; 2 import java.io.IOException; 3 import javax.servlet.jsp.JspException; 4 import javax.servlet.jsp.tagext.SimpleTagSupport; 5 public class HelloTag extends SimpleTagSupport { 6 // 重写doTag方法 7 @Override 8 public void doTag() throws JspException, IOException { 9 // 获取页面输出流,并输出字符串 10 getJspContext().getOut().write("hello Tag"+new java.util.Date()); 11 } 12 }
第二步骤:简历TLD文件,可以直接复制tomcat的webapps\examples\WEB-INF\jsp2\下的jsp2-example-taglib.tld文件放到自己的WEB-INF目录下。如图
然后重命名,修改内容,代码如下:
1 <?xml version="1.0" encoding="GBK" ?> 2 <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" 4 version="2.0"> 5 <!-- 描述 --> 6 <description>A tag library exercising SimpleTag handlers.</description> 7 <!-- 版本 --> 8 <tlib-version>1.0</tlib-version> 9 <!-- 短名 --> 10 <short-name>mytag</short-name> 11 <!-- 指定标签库URI --> 12 <uri>http://tomcat.apache.org/mytag</uri> 13 <tag> 14 <description>Outputs Hello, World</description> 15 <!-- 标签库名字 --> 16 <name>helloWorld</name> 17 <!-- 标签处理类 --> 18 <tag-class>lee.HelloTag</tag-class> 19 <!-- 标签体内容 --> 20 <body-content>empty</body-content> 21 </tag> 22 </taglib>
第三步骤:使用自定义标签,新建一个jsp文件,代码如下:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <%@ taglib uri="http://tomcat.apache.org/mytag" prefix="mytag"%> 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 5 <html> 6 <head> 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 8 <title>Insert title here</title> 9 </head> 10 <body> 11 <mytag:helloWorld /> 12 </body> 13 </html>
时间: 2024-11-05 05:33:31