明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

JSP中的TagLib應(yīng)用(4-2)

[摘要]我們在處理自定義的tag時(shí), 對父類的doStartTag() 和doEndTag() 要進(jìn)行重載,如果在tld文件中定義了tag的屬性, 就需要在tag handler里對每個(gè)屬性定義相應(yīng)的setxxx/getxxx方法.在doStartTag()中是從Template類所定義的Hashtabl...
我們在處理自定義的tag時(shí), 對父類的doStartTag() 和doEndTag() 要進(jìn)行重載,如果在tld文件中定義了tag的屬性, 就需要在tag handler里對每個(gè)屬性定義相應(yīng)的setxxx/getxxx方法.

在doStartTag()中是從Template類所定義的Hashtable中取得TemplateParameter對象.

在doEndTag()中

pageContext.getRequest().getRequestDispatcher(templateParam.getValue()).include(pageContext.getRequest(), pageContext.getResponse());

這是在頁面里包含通過jsp頁的上下文返回通過tag的屬性值指定的資源對象(RequestDispatcher)所產(chǎn)生的內(nèi)容..

doStartTag()和doEndTag()返回值是在Tag Interface里定義的靜態(tài)int

SKIP_BODY隱含0

Skip body evaluation. Valid return value for doStartTag and doAfterBody. 跳過對body的處理。

就是跳過了開始和結(jié)束標(biāo)簽之間的代碼。

EVAL_BODY_INCLUDE 隱含1

Evaluate body into existing out stream. Valid return value for doStartTag.

This is an illegal return value for doStartTag when the class implements BodyTag,

since BodyTag implies the creation of a new BodyContent.

將body的內(nèi)容輸出到存在的輸出流中。包括是jsp代碼,也可以被輸出

SKIP_PAGE 隱含5

Skip the rest of the page. Valid return value for doEndTag.

忽略剩下的頁面。

EVAL_PAGE 隱含6

Continue evaluating the page. Valid return value for doEndTag().

繼續(xù)執(zhí)行下面的頁

在這個(gè)類里還有對其他類的引用,我就不列出來了. 各位可以自己去研究.




相關(guān)文章