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內容。

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