11. 一個Tag處理程序類必須實現的方法
答:標簽處理程序類型 方法
Simple doStartTag, doEndTag, release
Attributes doStartTag, doEndTag, set/getAttribute...release
Body,No Itrative and doStartTag, doEndTag, release
Evaluation
Body, Itrative Evaluation doStartTag, doAterTag, doEndTag, release
Body, Interaction doStartTag, doEndTag, release, doInitbody, doAfterBody
12. 簡單的標簽處理程序類
答:1) 必須實現Tag接口的doStartTag()和doEndTag()方法;
2) 因為不存在Body,doStartTag()方法必須返回SKIP_BODY;
3) 如其余頁面要執行,doEndTag()方法返回EVAL_PAGE, 否則返回SKIP_PAGE;
4) 對于每一個標簽屬性,你必須在標簽處理程序類里定義一個特性以及get和set方法以一致于JavaBeans體系慣例
13. 帶Body的自定義標簽
答:1) 必須實現Tag接口的doStartTag()和doEndTag()方法;
2) 可以實現IterationTag接口的doAfterBody()方法;
3) 可以實現BodyTag接口的doInitBody和setBodyContent方法;
4) doStartTag方法可以返回SKIP_BODY、EVAL_BODY_INCLUDE、或者EVAL_BODY_BUFFERED(當你想使用BodyContent);
5) doEndTag方法可以返回SKIP_PAGE或EVAL_PAGE;
6) doAfterBody方法可以返回EVAL_BODY_AGAIN, SKIP_BODY;
14. 定義腳本變量的標簽(迭代的標簽庫)
答:1) 定義腳本標簽的二個步驟:
a. 在標記庫描述符(TLD)文件中列明腳本變量;
b. 定義標簽擴展信息類(TEI)并且在TLD文件中包括這個類元素(tei-class);
2) 變量必須在標簽處理程序類中使用pageContext.setAttribute()方法設置;
3) 標簽擴展信息類(TEI)必須繼承TagExtraInfo以及覆蓋getVariableInfo()方法;
4) 變量的范圍可以是AT_BEGIN, NESTED, AT_END(標簽擴展信息類(TEI)的VariableInfo中定義)之一;
15. 腳本變量的有效性
答:變量 | 有效性
---------------------------------------
NESTED | 標簽中的參數在starttag到endtag之間是有效的
AT_BEGIN | 標簽中的參數在標簽的開始到JSP頁面結束是有效的
AT_END | 標簽中的參數在標簽的結束到JSP頁面結束是有效的
答:標簽處理程序類型 方法
Simple doStartTag, doEndTag, release
Attributes doStartTag, doEndTag, set/getAttribute...release
Body,No Itrative and doStartTag, doEndTag, release
Evaluation
Body, Itrative Evaluation doStartTag, doAterTag, doEndTag, release
Body, Interaction doStartTag, doEndTag, release, doInitbody, doAfterBody
12. 簡單的標簽處理程序類
答:1) 必須實現Tag接口的doStartTag()和doEndTag()方法;
2) 因為不存在Body,doStartTag()方法必須返回SKIP_BODY;
3) 如其余頁面要執行,doEndTag()方法返回EVAL_PAGE, 否則返回SKIP_PAGE;
4) 對于每一個標簽屬性,你必須在標簽處理程序類里定義一個特性以及get和set方法以一致于JavaBeans體系慣例
13. 帶Body的自定義標簽
答:1) 必須實現Tag接口的doStartTag()和doEndTag()方法;
2) 可以實現IterationTag接口的doAfterBody()方法;
3) 可以實現BodyTag接口的doInitBody和setBodyContent方法;
4) doStartTag方法可以返回SKIP_BODY、EVAL_BODY_INCLUDE、或者EVAL_BODY_BUFFERED(當你想使用BodyContent);
5) doEndTag方法可以返回SKIP_PAGE或EVAL_PAGE;
6) doAfterBody方法可以返回EVAL_BODY_AGAIN, SKIP_BODY;
14. 定義腳本變量的標簽(迭代的標簽庫)
答:1) 定義腳本標簽的二個步驟:
a. 在標記庫描述符(TLD)文件中列明腳本變量;
b. 定義標簽擴展信息類(TEI)并且在TLD文件中包括這個類元素(tei-class);
2) 變量必須在標簽處理程序類中使用pageContext.setAttribute()方法設置;
3) 標簽擴展信息類(TEI)必須繼承TagExtraInfo以及覆蓋getVariableInfo()方法;
4) 變量的范圍可以是AT_BEGIN, NESTED, AT_END(標簽擴展信息類(TEI)的VariableInfo中定義)之一;
15. 腳本變量的有效性
答:變量 | 有效性
---------------------------------------
NESTED | 標簽中的參數在starttag到endtag之間是有效的
AT_BEGIN | 標簽中的參數在標簽的開始到JSP頁面結束是有效的
AT_END | 標簽中的參數在標簽的結束到JSP頁面結束是有效的
元素listener
標簽庫可以指定一些類——事件監聽類。(參照處理servlet生命周期事件)。這些監聽類都作為listener元素列于TLD中,網絡容器將實例化監聽類并通過與在WAR中定義的監聽類類似的方法來注冊。不像WAR級的監聽類,,標簽庫中注冊的監聽類沒有定義順序。Listener元素的唯一子元素是listener-class,它必須包含監聽類名的全稱。
http://www.leftworld.net/online/j2ee/13.htm