亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

jsp 定制標簽(Custom Tag)

2020-07-27 21:42:10
字體:
來源:轉載
供稿:網友
怎樣自己定制標簽(Custom Tag)
(整理的學習筆記)
步驟1、創建一個Tag handler class(標記處理器類)
package javax.servlet.jsp.tagext
開發空Body的標簽處理器類----->1)implements Tag 2)extends TagSupport
空Body的標簽處理器類需要覆蓋方法:
doStartTag()
返回值:Tag.SKIP_BODY
doEndTag()
返回值:
1)Tag.EVAL_PAGE:讓標簽下面的內容繼續執行
2)Tag.SKIP_PAGE:讓標簽下面的內容不執行
開發帶Body的標簽處理器類----->1)implements BodyTag 2)extends BodyTagSupport
帶Body的標簽處理器類需要覆蓋方法
doStartTag()
返回值:
BodyTag.SKIP_BODY:執行后直接調用doEndTag()方法
BodyTag.EVAL_BODY_INCLUDE:執行后直接調用doAfterBody()方法
BodyTag.EVAL_BODY_BUFFERED:
doEndTag()
返回值:
BodyTag.EVAL_PAGE:標簽下面的內容繼續執行
BodyTag.SKIP_PAGE:標簽下面的內容不執行
doAfterBody()
返回值:
BodyTag.SKIP_BODY:執行后調用doEngTag()方法
BodyTag.EVAL_BODY_AGAIN:執行后調用doAfterBody()方法
步驟2、創建一個tld文件(tag library descriptor)
一個XML格式的文件,用于對標記進行描述
通常放在WEB-INF目錄下 (/WEB-INF/*.tld)
abc.tld
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<!-- template test -->
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>tagSample</short-name>
<uri>/tagSample</uri>
<description>A blank tag library template.</description>
<tag>
<name>welcome</name>
<tag-class>tagapp.HelloTag</tag-class>
<body-content>empty</body-content>
<display-name>my first tag</display-name>
<small-icon> </small-icon>
<large-icon> </large-icon>
<description> </description>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.String</type>
</attribute>
</tag>
</taglib>
步驟3.創建一個JSP文件
<%@taglib uri="[tld_url]" prefix=""%>
<%@taglib uri="/WEB-INF/abc.tld" prefix="mike"%>
...
<mike:welcome name=""/>
uri的值可以是:
A、/WEB-INF/mytag.tld -----> uri="/WEB-INF/mytag.tld"
B、tld文件中 <uri>/tagSample</uri> ------> uri="/tagSample"
C、利用web.xml文件映射tld文件與taglib-uri的值 -----> uri="/abc"
<taglib>
<taglib-uri>/abc</taglib-uri>
<taglib-location>/WEB-INF/mytag.tld</taglib-location>
</taglib>
帶Body的標簽處理器類的方法的注釋:
doStartTag()
return value: SKIP_BODY 空BODY標記
EVAL_BODY_INCLUDE 帶BODY標記,執行流程進入doAfterBody
EVAL_BODY_BUFFERED 帶BODY標記,執行流程進入setBodyContent
doEndTag()
return value: SKIP_PAGE 忽略標記后剩余的JSP內容
EVAL_PAGE 繼續執行標記后剩余的JSP內容
doAfterBody()
return value: SKIP_BODY 結束doAfterBody()方法,流程進入doEndTag()
EVAL_BODY_AGAIN 繼續執行doAfterBody()方法
SimpleTagSupport
較好的練習題:
一、
1、模仿jstl標簽庫開發下列標簽:
1)<sql:setDataSource>
屬性有:
driver:必須的,可以用表達式
url;必須的,可以用表達式
user:必須的,可以用表達式
password:必須的,可以用表達式
2)<sql:query>
屬性有:
dataSource:必須的,可以用表達式
sql:必須的,可以用表達式
3)<sql:update>
屬性有:
dataSource:必須的,可以用表達式
sql:必須的,可以用表達式
2、開發類似于<c:forEach>的標簽,可以遍歷一個集合對象(可選,如不能完成,可直接利用jstl的標簽來完成)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日日骚久久av| 亚洲国产欧美一区二区三区同亚洲| 欧美精品在线免费播放| 欧美韩日一区二区| 欧美成在线视频| 性欧美长视频免费观看不卡| 午夜精品理论片| 久久艹在线视频| 亚洲国产毛片完整版| 亚洲欧美自拍一区| 欧美极品美女视频网站在线观看免费| 日韩精品福利在线| 亚洲人成伊人成综合网久久久| 久久视频在线视频| 午夜精品久久久久久久白皮肤| 91香蕉嫩草神马影院在线观看| 久久影院在线观看| 国产成人精品一区二区三区| 久久久久久久激情视频| 国产精品美乳在线观看| 国产精欧美一区二区三区| 国产精品入口尤物| 亚洲最新中文字幕| 亚洲女同性videos| 中文字幕精品一区久久久久| 黑人巨大精品欧美一区免费视频| 国产在线视频91| 亚洲性av在线| 91精品啪aⅴ在线观看国产| 国产91精品视频在线观看| 欧美激情精品久久久久| 国产精品久久久久久久久久99| 国产一区二区精品丝袜| 欧美日韩在线视频一区| 日韩电视剧免费观看网站| 亚洲精品一区二区久| 亚洲人成伊人成综合网久久久| 黑人欧美xxxx| 午夜剧场成人观在线视频免费观看| 国产自产女人91一区在线观看| 久久99久久99精品免观看粉嫩| 91免费在线视频| 57pao成人永久免费视频| 欧美在线视频观看免费网站| 北条麻妃一区二区三区中文字幕| 一本色道久久综合狠狠躁篇的优点| 97碰在线观看| 不卡在线观看电视剧完整版| 91系列在线播放| 91夜夜未满十八勿入爽爽影院| 久久精品国产久精国产一老狼| 国产成人精品网站| 国产精品日韩av| 日韩中文娱乐网| 久久精品国产69国产精品亚洲| 97精品国产97久久久久久免费| 欧美性猛交xxxx免费看漫画| 国产精品成人va在线观看| 欧美日韩国产综合视频在线观看中文| 国产精品18久久久久久首页狼| 久久好看免费视频| 国产成人av网址| 亚洲成人久久久| 国产一区视频在线| 亚洲国产精品网站| 久久免费在线观看| 久久久久久久色| 国产精品一区二区久久| 国产精品久久激情| 亚洲香蕉伊综合在人在线视看| 欧美精品在线视频观看| 青青a在线精品免费观看| 亚洲欧美激情在线视频| 日韩中文字幕免费视频| 欧美精品久久久久a| 久久精品久久久久久国产 免费| 成年人精品视频| 91精品视频播放| 久久精品国产亚洲一区二区| 国产精品亚洲综合天堂夜夜| 欧美亚洲一级片| 国产亚洲激情在线| 成人欧美在线观看| 亚洲精品自拍偷拍| 日韩av在线影视| 亚洲www在线观看| 成人欧美一区二区三区在线| 在线播放精品一区二区三区| 亚洲最新av在线网站| 欧洲精品久久久| 亚洲九九九在线观看| 亚洲精品国产综合区久久久久久久| 92福利视频午夜1000合集在线观看| 久久精品国产亚洲精品2020| 欧美性生交大片免网| 亚洲精品久久久久中文字幕欢迎你| 国产精品视频成人| 国产精品一区二区三区成人| 精品日本美女福利在线观看| 国产精品免费久久久久影院| 日韩精品欧美激情| 国内精品400部情侣激情| 97国产精品人人爽人人做| www.亚洲人.com| 福利二区91精品bt7086| 91在线国产电影| 在线a欧美视频| 九九热精品视频| 高跟丝袜欧美一区| 日本a级片电影一区二区| 亚洲美女av电影| 最新国产精品亚洲| 日韩精品在线电影| 久久精品影视伊人网| 欧美午夜精品久久久久久人妖| 少妇av一区二区三区| 亚洲天堂av高清| 欧美极品少妇xxxxⅹ免费视频| 热久久免费国产视频| 北条麻妃99精品青青久久| 国产精品白嫩初高中害羞小美女| 中文字幕综合一区| 亚洲视频精品在线| 国产精品高清在线观看| 性色av一区二区咪爱| 91精品视频在线播放| 欧美日韩久久久久| 1769国内精品视频在线播放| 亚洲欧洲一区二区三区在线观看| 国产国语刺激对白av不卡| 91精品国产99| 亚洲欧美一区二区三区在线| 亚洲国产欧美一区二区三区久久| 国产免费久久av| 这里只有精品在线观看| 国产精品欧美日韩一区二区| 亚洲一区二区免费在线| 精品欧美国产一区二区三区| 欧美一区第一页| 国产精品mp4| 久久97精品久久久久久久不卡| 亚洲最大的免费| 国内精品久久久久伊人av| 91精品国产综合久久香蕉最新版| 国产欧美va欧美va香蕉在| 欧美激情videoshd| 久久亚洲精品一区| 亚洲无av在线中文字幕| 欧洲亚洲女同hd| 国内精品久久久久| 日韩国产激情在线| 欧美自拍大量在线观看| 欧美成人一区在线| 8050国产精品久久久久久| 性色av一区二区三区免费| 日韩av在线网站| 日本电影亚洲天堂| 日韩视频在线观看免费| 国产精品aaaa| 九九视频直播综合网| 国产成人jvid在线播放| 中文字幕自拍vr一区二区三区| 欧美性猛交xxxx乱大交极品| 亚洲成人av资源网|