標籤:
在JSP頁面中,通常為了處理某些商務邏輯需要編寫大量的Java代碼,在一定程度上使得頁面變得更加的複雜,並且不直觀,也不利於前端人員對jsp頁面的修改,通過自訂標籤可以實現負責的、可重複利用的功能,並且簡化了jsp頁面,方便了後期的維護和修改。
一.實現自訂標籤的步驟
1.首先編寫自訂標籤處理類:繼承或實現相應的介面
2.編寫標籤描述檔案:存放到網站的web-info目錄中
3.在頁面中引入標籤檔案
二.自訂標籤實作類別和介面的描述
JspTag:標記介面,實現了該介面的類可以處理標籤
Tag:主要描述標籤處理類的共性,實現該介面的類不能處理標籤體
TagSupport:處理標籤的屬性的類
BodyTagSupport:處理標籤的標籤的類
三.介面類之間的關係
四.一般標籤處理類(不帶屬性,標籤體)
1.編寫一個標籤處理類
1 public class HelloHanler implements Tag { 2 private PageContext pageContext = null; 3 // 標籤結束的時候執行 4 public int doEndTag() throws JspException { 5 return 0; 6 } 7 // 標籤開始的時候執行 8 public int doStartTag() throws JspException { 9 // 給頁面輸出一個hello資訊10 JspWriter out = pageContext.getOut();11 // 輸出資訊12 String info = "welcome!!!!!!!";13 try {14 out.write(info);15 } catch (IOException e) {16 e.printStackTrace();17 }18 return 0;19 }20 // 擷取其父標籤21 public Tag getParent() {22 return null;23 }24 // 釋放25 public void release() {26 27 }28 // 設定jsp內容物件29 public void setPageContext(PageContext pageContext) {30 this.pageContext = pageContext;31 }32 // 設定父標籤33 public void setParent(Tag t) {34 35 }36 }
2.編寫描述檔案
1 <?xml version="1.0" encoding="UTF-8"?> 2 <taglib 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" 6 version="2.1"> 7 <!-- 2. 編寫標籤庫描述檔案 --> 8 <tlib-version>1.0</tlib-version> 9 <short-name>tag</short-name>10 <tag> 11 <name>hellotag</name>12 <tag-class>cn.mytag.test.HelloHanler</tag-class>13 <body-content>empty</body-content>14 </tag>15 </taglib>
3.jsp頁面引入標籤
1 <%@taglib uri="/WEB-INF/mytag.tld" prefix="mytag"%>2 <br/>3 <mytag:hellotag/>
以上主要是簡單的不包含屬性和標籤體的自訂標籤,下次繼續剩下的自訂標籤的學習。
Java之自訂標籤一