jsp2自定義標簽開篇
阿新 • • 發佈:2017-06-08
oos .org emp context pub j2e sp2 hand ges
在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" 4version="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>
jsp2自定義標簽開篇