bodytagsupport執行順序
載bodytagsupport類的方法:
編寫標籤對應的實現類時,需要過載bodytagsupport類幾個方法:dostarttag(), setbodycontent(), doinitbody(), doafterbody(), doendtag();
他們執行順序如下:
dostarttag()→doinitbody()→setbodycontent()→doafterbody()→doendtag()
dostarttag()方法可返回eval_body_include或skip_body,
如果返回eval_body_include則繼續執行;
如果返回skip_body則接下來的doinitbody(),setbodycontent(), doafterbody()三個方法不會被執行,
而直接執行doendtag()方法。
setbodycontent()方法用於設定標籤體內容,如果在此之前要作一些初始化工作,則在doinitbody()方法中完成。
標籤體內容執行完後,會呼叫doafterbody()方法,此方法可返回eval_body_tag, skip_body,
eval_page或skip_page。
如果返回eval_body_tag則會再次設定標籤體內容,直到返回skip_body;
如果返回eval_page則標籤體執行完後會繼續執行jsp頁面中接下來的部分;
如果返回skip_page,則jsp頁面的後續內容將不再執行。
標籤中靜態常量:
eval_body_include:告訴伺服器正文的內容,並把這些內容送入輸出流
skip_body:告訴伺服器不要處理正文內容
eval_page:讓伺服器繼續執行頁面
skip_page:讓伺服器不要處理剩餘的頁面
eval_body_again:讓伺服器繼續處理正文內容,只有doafterbody方法可以返回
eval_body_buffered:bodytag介面的字段,在dostarttag()返回
eval_body_include、skip_body一般由dostarttag()返回,而eval_papge、skip_page由doendtag()返回。
自定義JSP標籤入門
1 編寫乙個實現tag介面的j a類 2 編寫tld標籤庫檔案,tld檔案必須放在web inf資料夾或其子資料夾下,此檔案是用來對標籤處理器類進行描述 xml version 1.0 encoding utf 8 taglib xmlns xmlns xsi xsi schemalocation ...
自定義標籤
由於字典的緣故,當前表中資料存的是字典表的code,所以在頁面顯示的時候需要再次進行轉換。於是我就想到了用標籤來解決這個問題。1.建立自己的標籤 public class displaytag extends tagsupport override public int doendtag throw...
自定義標籤
1 前段時間由於系統需要使用到資料字典,簡而言之就是用下拉將字典的內容顯示出來。我也是參考了一下別人的例項結合自己的業務需求,才將此功能實現。在此將大楷實現步奏記錄下來,以方便以後翻閱。2 在我們專案中使用了2張表來實現此功能。a csms t baseinfo 字典名稱 b csms t base...