BodyTagSupport執行流程


摘自:http://z-jianwen.iteye.com/blog/1073301


1.當容器創建一個新的標籤實例後,通過setPageContext來設置標籤的頁面上下文. 
2.使用setParent方法設置這個標籤的上一級標籤,如果沒有上一級嵌套,設置爲null. 
3.設置標籤的屬性,這個屬性在標籤庫描述文件中定義,如果沒有定義屬性,就不調用此類方法. 
4.調用doStartTag方法,這個方法可以返回EVAL_BODY_INCLUDE和SKIP_BODY,當返回EVAL_BODY_INCLUDE時,就計算標籤的body,如果返回SKIP_BODY,就不再計算標籤的body. 
5.調用setBodyContent設置當前的BodyContent. 
6.調用doInitBody,如果計算BodyContent時需要進行一些初始化,就在這個方法中進行. 
7.每次計算完Body後調用doAfterBody,如果返回EVAL_BODY_TAG,表示繼續計算一次Body,直到返回SKIP_BODY才繼續往下執行. 
8.調用doEndTag方法,這個方法可以返回EVAL_PAGE或者SKIP_PAGE,當返回EVAL_PAGE時,容器將在標籤結束時繼續計算JSP頁面其他的部分;如果返回SKIP_PAGE,容器將在標籤結束時停止計算JSP頁面其他的部分. 
9.調用release()方法釋放標籤程序佔用的任何資源。 

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