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

首頁 > 編程 > JSP > 正文

jsp 定制標簽(Custom Tag)

2024-09-05 00:21:22
字體:
來源:轉載
供稿:網友
怎樣自己定制標簽(Custom Tag) (整理的學習筆記)

怎樣自己定制標簽(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/>
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
国产成人精品免高潮在线观看| 最近2019免费中文字幕视频三| 国产视频精品免费播放| 亚洲人精选亚洲人成在线| 亚洲综合小说区| 中文.日本.精品| 亚洲天堂日韩电影| 欧美日本国产在线| 精品magnet| 国产精品一区=区| 国产亚洲欧美日韩美女| 欧美性猛交xxxx| 国产精品一区二区久久精品| 日韩av在线最新| 亚洲第一天堂av| 2019中文字幕全在线观看| 欧美激情一区二区三区在线视频观看| 成人妇女淫片aaaa视频| 亚洲精品久久久久中文字幕二区| 国产精品久久久久77777| 91精品国产高清| 成人欧美一区二区三区黑人| 亚洲日本中文字幕免费在线不卡| 久久夜色精品亚洲噜噜国产mv| 欧美激情在线狂野欧美精品| 日韩不卡中文字幕| 欧美激情亚洲另类| 亚洲精品国产精品国产自| 日韩久久精品电影| 成人免费视频在线观看超级碰| 国产99久久久欧美黑人| 欧美日韩国产91| 欧美在线视频一区| 中文字幕精品一区二区精品| 91精品中文在线| 2019精品视频| 中文字幕日韩av| 日韩有码在线视频| 色香阁99久久精品久久久| 亚洲人成电影网站色www| 久久久精品999| 国产精品自拍小视频| 中文字幕久热精品在线视频| 最新亚洲国产精品| 久久精品视频导航| 欧美性少妇18aaaa视频| 91精品国产高清| 成人乱色短篇合集| 成人久久18免费网站图片| 91色在线视频| 日韩久久精品电影| 韩剧1988在线观看免费完整版| 另类少妇人与禽zozz0性伦| 国产日韩欧美自拍| 国产一区二区丝袜高跟鞋图片| 国产啪精品视频| 久热精品视频在线观看一区| 亚洲黄色www| 中文字幕国产亚洲2019| 亚洲欧美激情视频| 都市激情亚洲色图| 亚洲色图25p| xxxx欧美18另类的高清| 亚洲伊人一本大道中文字幕| 欧美国产日韩xxxxx| 日产精品99久久久久久| 欧美一区二区三区……| 欧美成人自拍视频| 日日摸夜夜添一区| 狠狠综合久久av一区二区小说| 久久夜色撩人精品| 91精品91久久久久久| 日韩欧美国产网站| 精品成人在线视频| 久久成人一区二区| 色中色综合影院手机版在线观看| 欧美高清在线播放| 成人激情视频在线| 亚洲www在线观看| 国产精品黄色影片导航在线观看| 中文字幕亚洲欧美一区二区三区| 亚洲欧洲偷拍精品| 欧美黄色成人网| 欧美激情a∨在线视频播放| 激情久久av一区av二区av三区| 亚洲国产另类久久精品| 中国日韩欧美久久久久久久久| 国产精品久久久久久久久久免费| 亚洲欧洲在线观看| 亚洲毛片在线看| 九九久久久久99精品| 亚洲人成电影网站色xx| 亚洲精品国产拍免费91在线| 久久精品成人欧美大片| 欧美日韩xxx| 日韩性生活视频| 韩国v欧美v日本v亚洲| 综合国产在线观看| 91极品视频在线| 热久久这里只有精品| 亚洲天堂第二页| 国产suv精品一区二区| 国产精品久久久久久久7电影| 国产精品久久久久久久app| 91av免费观看91av精品在线| 亚洲国产精品va在线看黑人动漫| 欧美色xxxx| 亚洲性av网站| 中文字幕无线精品亚洲乱码一区| 成人精品一区二区三区| 91色精品视频在线| 91爱爱小视频k| 亚洲自拍偷拍福利| 亚洲2020天天堂在线观看| 日本高清不卡在线| 亚洲三级免费看| 激情av一区二区| 国产精品欧美日韩一区二区| 91精品中国老女人| 久久久久久久久久婷婷| 日韩成人免费视频| 中文字幕亚洲欧美日韩2019| 日韩美女写真福利在线观看| xvideos成人免费中文版| 亚洲专区国产精品| 成人av在线亚洲| 国产精品99久久久久久久久久久久| 成人日韩av在线| 中文字幕亚洲一区二区三区| 久久国产精品影片| 久久精品视频免费播放| 国产主播欧美精品| 国产日韩欧美另类| 日韩精品在线免费播放| 中文字幕av一区中文字幕天堂| 国产成人精品一区二区| 日韩精品一二三四区| 亚洲黄在线观看| 精品二区三区线观看| 国产精品免费观看在线| 97人人爽人人喊人人模波多| 国产一区玩具在线观看| 日韩中文字幕在线视频| 久久免费在线观看| 热门国产精品亚洲第一区在线| 国产精品va在线| 欧美做受高潮电影o| 国产激情久久久| 亚洲va国产va天堂va久久| 欧美激情国产日韩精品一区18| 97久久精品视频| 一本色道久久88精品综合| 欧美激情在线观看| 欧美高清无遮挡| 国产精品9999| 中文字幕欧美专区| 国产区精品在线观看| 国产精品久久婷婷六月丁香| 色七七影院综合| 国产91av在线| 久久天天躁狠狠躁老女人| 91精品国产九九九久久久亚洲| www.日韩.com| 国产精品久久久久7777婷婷|