程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 自定義JSP標簽:TagSupport類的生命周期

自定義JSP標簽:TagSupport類的生命周期

編輯:關於JSP

 

TagSupport類的生命周期

\

 

它的聲明周期各個階段的具體執行過程:

(1)、當JSP容器在解釋JSP頁面時,如果遇到自定義標簽的開始標記,將利用“標簽處理類”建立一個“標簽處理對象”。在建立“標簽處理對象”的過程中,JSP容器會回調setPageContext()方法,然後根據自定義標簽的屬性值來初始化“標簽處理對象”的屬性。

(2)、接著JSP容器會運行doStartTag()方法內的程序代碼,然後根據此方法的返回值決定後續動作,如果返回SKIP_BODY常量,表示要求JSP容器忽略此標簽主體的內容;如果返回EVAL_BODY_INCLUDE常量,表示要求JSP容器執行標簽主體的內容,並將結果包括在響應中,然後再運行doAfterBody()方法。

(3)、如果doAfterBody()方法傳回EVAL_BODY_AGAIN常量,表示要求JSP容器再次執行標簽主體的內容;如果返回SKIP_BODY常量,JSP容器將會運行doEndTag()方法。

(4)、最後,JSP容器會運行doEndTag()方法內的程序代碼,並根據此方法的返回值決定後續動作——如果返回SKIP_PAGE常量,JSP容器會忽略自定義標簽以後的JSP內容;如果返回EVAL_PAGE常量,JSP容器會運行自定義標簽以後的JSP內容。

 

總的歸納起來,TagSupport類的生命周期中需要的方法如下:

方法名

描述

返回值說明

doStartTag()

容器在遇到開始標簽時會調用這個方法

SKIP_BODY:忽略標簽主體的內容,這是默認值

EVAL_BODY_INCLUDE:要求JSP容器要執行標簽主體內容並將結果包括在響應中

doAfterBody()

如果標簽有主體內容,容器在執行完標簽主體後,會調用這個方法

SKIP_BODY:要求JSP容器忽略主體,進入標簽處理程序的下一步工作,是默認值

EVAL_BODY_AGAIN:要求JSP容器再次顯示標簽主體內容

doEndTag()

容器在遇到結束標簽時會調用這個方法

EVAL_PAGE:運行自定義標簽以後的JSP網頁內容,這是默認值

SKIP_PAGE:忽略自定義標簽以後的JSP網頁內容

release()

容器通過這個方法來釋放本標簽處理對象所占用的系統資源

沒有返回值

舉例說明:

JSP頁面:

\

Java部分:

\

\

 

摘自 like7xiaoben

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved