自定義標籤2&簡單標籤

       由於傳統標籤使用三個標籤接口來完成不同的功能,顯得過於繁瑣,不利於標籤技術的推廣,SUN公司爲降低標籤技術的學習難度,在JSP2.0中定義了一個更爲簡單、便於編寫和調用的SimpleTag接口來實現標籤的功能。實現SimpleTag接口的標籤通常稱爲簡單標籤。簡單標籤共定義了5個方法:

setJspContext方法

setParent和getParent方法

setJspBody方法

doTag方法

SimpleTag方法介紹:

setJspContext方法:

      用於把JSP頁面的pageContext對象傳遞給標籤處理器對象;

setParent方法:

     用於把父標籤處理器對象傳遞給當前標籤處理器對象;

getParent方法:

      用於獲得當前標籤的父標籤處理對象;

setJspBody方法:

     用於把代表標籤體的JspFragment對象傳遞給標籤處理器對象;

doTag方法:

     用於完成所有的標籤邏輯,包括輸出、迭代、修改標籤體內容等。在doTage方法中可以拋出javax.servlet.jsp.SkipPageException異常,用於通知WEB容器不在執行JSP頁面中位於結束標記後面的內容,這等效於在傳統標籤的doEndTag方法中返回Tag.SKIP_PAGE常量的情況。

JspFragment類:

     javax.servlet.jsp.tagext.JspFragment類是在JSP2.0中定義的,它的實力對象代表JSP頁面中的一段符合JSP語法規範的JSP片段,這段JSP片段中不能包含JSP腳本元素。

     WEB容器在處理簡單標籤的標籤體時,會把標籤體內容用一個JspFragment對象表示,並調用標籤處理器對象的setJspBody方法把JspFragment對象傳遞給標籤處理器對象。JspFragment類中只定義了兩個方法,如下所示:

getJspContext方法:

     用於返回代表調用頁面的JspContext對象;

public abstract void invoke(java.io.Writer.out):

      用於執行JspFragment對象所代表的JSP代碼片段;

      參數out用於指定將JspFragment對象的執行結果寫入到哪個輸出流對象中,如果傳遞給參數out的值爲null,則將執行結果寫入到JspContext.getOut()方法返回的輸出流對象中。

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章