浅谈JSP自定义标签实现过程
(一) 沒(méi)有正文的JSP自定義標(biāo)簽實(shí)現(xiàn)
(1):定義JSP自定義標(biāo)簽處理類
(2) 定義tld文件
(3) JSP頁(yè)面動(dòng)態(tài)引用
注意:動(dòng)態(tài)引用和靜態(tài)引用的區(qū)別。
為了進(jìn)行靜態(tài)引用,首先必須將下面的項(xiàng)加入到web.xml 文件中:
然后,將JSP 聲明加入到所有需要使用自定義標(biāo)記庫(kù)的頁(yè)面中:
指定的uri 屬性與在web.xml 文件中指定的taglib-uri 值相匹配。
在進(jìn)行標(biāo)記庫(kù)的靜態(tài)引用時(shí),JSP 聲明必須查詢 web.xml 文件以執(zhí)行庫(kù)查詢。這意味著如果移動(dòng)或者重命名了庫(kù),或者希望在 web.xml 文件中加入更多的庫(kù),就必須停止服務(wù)器、更新 web.xml 文件、然后重新啟動(dòng)服務(wù)器。動(dòng)態(tài)方法讓JSP頁(yè)直接指向 TLD 位置,因而是在解釋JSP頁(yè)面時(shí)進(jìn)行處理。
(二)? 沒(méi)有正文的但帶有屬性的JSP自定義標(biāo)簽標(biāo)簽實(shí)現(xiàn)
(1):定義JSP自定義標(biāo)簽處理類
(2) 定義tld文件
(3)JSP頁(yè)面動(dòng)態(tài)引用
(三) 有正文的且?guī)в袑傩缘腏SP自定義標(biāo)簽實(shí)現(xiàn)
(1):定義JSP自定義標(biāo)簽處理類
(2) 定義tld文件
(3) jsp 頁(yè)面動(dòng)態(tài)引用
效果圖:
執(zhí)行順序
doStartTag()->setBodyContent()->doInitBody()->doAfterTag()->doEndTag()
如果doStartTag()返回的是EVAL_BODY_INCLUDE執(zhí)行doAfterTag()方法,
如果它返回SKIP_BODY就執(zhí)行doEndTag()方法。
setBodyContent()方法用于設(shè)置標(biāo)簽體內(nèi)容,如果在計(jì)算BodyContent時(shí)需要進(jìn)行一些初始化工作,
則在doInitBody()方法中完成。標(biāo)簽體內(nèi)容執(zhí)行完后,會(huì)調(diào)用doAfterBody()方法
在doAfterTag()方法中返回EVAL_BODY_AGAIN來(lái)重復(fù)執(zhí)行doAfterTag()方法
返回SKIP_BODY值則執(zhí)行doEndTag()方法。
在doEndTag()方法中返回EVAL_PAGE值,則執(zhí)行此標(biāo)簽的后的其它代碼,
返回SKIP_PAGE則不執(zhí)行此頁(yè)面的其它代碼。
總結(jié)
以上是生活随笔為你收集整理的浅谈JSP自定义标签实现过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 又有一本图书在台湾出版了
- 下一篇: SpringBoot2 整合JTA组件,