TLD-標籤與函數庫(四)

jsp執行標籤的生命週期

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




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




(3)如果doAfterBody()方法傳回EVAL_BODY_INCLUDE常量,表示要求jsp容器再次執行標籤主體的內容;如果返回SKIP_BODY常量,jsp容器建會運行doEndTag()方法.




(4)最後,jsp容器會運行doEndTag()方法內的程序代碼,並根據此方法的返回值決定後續動作----如果返回SKIP_BODY常量,jsp容器會忽略自定義標籤以後的jsp內容;如果返回EVAL_BODY_INCLUDE常量,jsp容器會運行自定義標籤以後的jsp內容.


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