TagSupport類的宣告週期

2021-06-01 12:44:33 字數 651 閱讀 3291

(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類的宣告週期的理解

首先建立標籤處理物件,即自定義標籤所對應的處理類 然後將自定義標籤的屬性值存入到標籤處理物件中,如pagecontext 之後呼叫它的dostarttag 方法。如果返回skip body,那麼它會忽略標籤主體,即不顯示 然後返回doendtag 方法,如果返回eval page,則繼續執行jsp頁...

C 類宣告 類前置宣告

參考自 關於前置型別宣告的注意點 一 class b class a class b 上述 能夠通過編譯。二 class b class a class b 上述 報錯。error list c2079 a adata uses undefined class b c2027 use of unde...

jsp 標籤 TagSupport的學習

tagsupport 的學習 dostarttag doendtag 1 tagsupport 與bodytagsupport的區別 tagsupport 與bodytagsupport的區別主要是標籤處理類是否需要與標籤體互動,如果不需要互動的就用tagsupport,否則如果不需要互動就用bod...