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

首頁 > 編程 > JSP > 正文

自定義jsp標簽

2019-11-08 03:12:18
字體:
來源:轉載
供稿:網友

開發自定義標簽步驟

1.創建自定義標簽處理類(Tag Handler Class)

2.創建TLD標簽庫描述文件(Tag Library Desciptor)

web應用使用標簽:

1.標簽處理類和相關類.class文件放到WEB-INF/CLASS目錄下

2.把TLD放到WEB-INF或者其自定義的子目錄下

3.在web.xml中聲明引用的標簽庫

4.在jsp中使用標簽庫中的標簽。

JSP TAG API

          運行jsp文件時遇到自定義的標簽,就會調用這個標簽的處理類相關方法。處理類可以繼承TagSupport類或者BodyTagSupport。

JspTag接口

        這是一個標識接口,沒有任何方法。作為Tag和SimpleTag的共同接口。實現Tag接口的標簽為傳統標簽。實現SimpleTag的標簽為簡單標簽。

Tag接口

setPageContext(PageContext pc)//servlet容器調用這個方法,像當前Tag對象傳遞PageContext對象setParent(Tag t)//設置父標簽getParent()release()//釋放Tag占用的資源時調用doStartTag()當servlet容器遇到標簽起始標志時調用這個方法,返回一個整數值,決定后續流程Tag.SKIP_BODY表示標簽內主體內容被忽略Tag.EVAL_BODY_INCLUDE表示標簽內主體被正常執行doEndTag()//標簽結束時調用。返回整數值,決定后面流程Tag.SKIP_PAGE 標簽后面的內容不執行,把已有的內容返回Tag.EVAL_PAGE 正常執行jsp代碼

執行jsp內容遇到自定義標簽,就回去找Tag對象,沒找到就創建一個,放到緩存中重復使用(web應用被終止是會調用relesse()方法)。創建完對象后調用對象相關方法。1.servlet容器調用setPageContext(PageContext pc),setParent(Tag t),不存在父標簽就設置null.

2.servlet容器調用一系列set方法,設置屬性,沒有屬性就不用。

3.doStartTag()根據返回值做相關處理。

4.doEndTag()根據返回值做相關處理。

IterationTag接口

繼承Tag接口,增加了反復執行主體內容的功能。

doAfterBody()方法在執行玩主體內容后調用,不執行主體內容不調用。

返回整數值,決定是否重復執行。

Tag.SKIP_BODY不重復執行主體內容了

Tag.EVAL_BODY_AGAIN重復執行標簽主體內容

BodyTag接口--添加了直接訪問和操縱標簽主體的功能

setBodyContent(BodyContent bc)傳遞一個用于緩存標簽結果的BodyContent對象。

doInitBody():setBodyContent()執行完后,執行標簽主體之前調用,為執行標簽主體做初始化工作。

標簽主體為空或者doStartTag返回skip_body或者eval_body_include,上面兩個方法不執行。

標簽主體不為空以及doStartTag返回BodyTag.EVAL_BODY_BUFFERED才執行。

TagSupport和BodyBodySupport--自定義的標簽繼承這兩個中的一個就行了。

創建message標簽的處理類messageTag

1.創建資源文件

xxx.PRoperties放在WEB-INF目錄下,使用鍵值對的形式。

2.web啟動時加載資源文件

用一個servlet來加載資源文件,設置start-on-load為1,啟動時就加載。保存在應用范圍內。

3.創建messageTag

創建標簽庫描述文件

采用XML格式,其中元素分為3類:

<taglib>標簽庫元素

<tag>標簽元素

<attribute>標簽屬性元素

1.taglib

tlib-version標簽庫版本

jsp-version   jsp版本

short-name  標簽庫前綴名(prefix)

uri   設定標簽庫的唯一訪問標識符

info 說明信息

2.tag

name  設置標簽的名字

tag-class 處理類

body-content 標簽主體類型 empty主體為空,scriptless主體不為空,包含EL表達式和jsp內置標簽。jsp主體不為空,比scriptless多了一個腳本元素<%! %>等等。tagdependant 主體不為空,標簽主體內容由處理類解析處理。

info 說明信息

3.attribute

name  屬性名

required  屬性是否為必須,默認false

rtexprvalue 屬性值是否可以基于<%=%>等java表達式和EL表達式

把文件命名問xxx.tld

在web應用中使用標簽

在web.xml加入taglib

<taglib><taglib-uri></taglib-uri>//標簽庫唯一標識符<taglib-location></taglib-location>//tld文件位置</taglib>然后使用jsp就可以訪問<標簽庫的短名稱:tag屬性的name  屬性=屬性值  />

<%@ taglib prefix="xx" uri="/xxx"%>


上一篇:jsp詳解

下一篇:jsp中文亂碼

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美成人在线| 国产精品一区二区三区在线播放| 国产欧美精品va在线观看| 成人性生交xxxxx网站| 国产成人久久精品| 国产极品精品在线观看| 久久久久久久成人| 日韩在线观看免费高清| 国产69精品久久久久99| 欧美理论片在线观看| 亚洲精品av在线播放| 国产大片精品免费永久看nba| 日韩av最新在线观看| 69久久夜色精品国产69乱青草| 亚洲精品自产拍| 欧美精品久久一区二区| 久久频这里精品99香蕉| 亚洲欧洲在线看| 精品国产一区二区三区久久狼5月| 欧美黄色免费网站| 91精品视频在线播放| 亚洲国产天堂网精品网站| 欧美精品激情在线观看| 国产精品视频网址| 日韩欧美在线看| 97香蕉久久超级碰碰高清版| 深夜精品寂寞黄网站在线观看| 国产精品入口日韩视频大尺度| 国产精品高潮呻吟久久av野狼| 91tv亚洲精品香蕉国产一区7ujn| 精品国产老师黑色丝袜高跟鞋| 日韩免费在线视频| 国产精品三级久久久久久电影| 国产日产久久高清欧美一区| 欧美日韩一区二区在线| 欧美美女18p| 久久久久成人精品| 国产在线精品一区免费香蕉| 精品国产美女在线| 亚洲第一黄色网| 91精品国产综合久久久久久蜜臀| 亚洲精品欧美一区二区三区| 欧美性理论片在线观看片免费| 欧美日在线观看| 久久久久久久成人| 91最新国产视频| 日韩电影大片中文字幕| 亚洲国产精品成人va在线观看| 国产91ⅴ在线精品免费观看| 中文字幕av一区二区| 欧美天堂在线观看| 在线精品高清中文字幕| 国产精品91免费在线| 91超碰caoporn97人人| 中文欧美日本在线资源| 美日韩精品免费观看视频| 欧美日韩国产在线看| 亚洲精品久久视频| 国产97在线观看| 国产精品成av人在线视午夜片| 亚洲日韩欧美视频一区| 美女999久久久精品视频| 欧美日韩视频免费播放| 日韩欧美成人区| 亚洲专区在线视频| 日韩精品极品在线观看播放免费视频| 欧洲精品在线视频| 成人情趣片在线观看免费| 亚洲福利在线看| 欧美激情视频三区| 欧美激情视频在线免费观看 欧美视频免费一| 国产精品白丝jk喷水视频一区| 国产精品一区二区3区| 亚洲欧美日韩天堂| 精品人伦一区二区三区蜜桃免费| 国产日本欧美在线观看| 成人欧美一区二区三区黑人| 在线性视频日韩欧美| 久久久精品电影| 97国产在线观看| 久久亚洲欧美日韩精品专区| 国产精品一区二区三区成人| 在线观看日韩视频| 92国产精品久久久久首页| 欧美日韩一区二区免费视频| 欧美性生交大片免网| 国产成人久久精品| 国产盗摄xxxx视频xxx69| 亚洲图片在区色| 亚洲日本成人网| 国产97在线亚洲| 亚洲图片欧美午夜| 91亚洲精品视频| 黄色91在线观看| 麻豆一区二区在线观看| 欧美亚洲视频在线看网址| 国产va免费精品高清在线| 成人免费在线视频网址| 国产精品1区2区在线观看| 亚洲天堂第一页| 欧美丰满老妇厨房牲生活| 91福利视频在线观看| 在线亚洲欧美视频| 日韩综合视频在线观看| 91精品国产91久久| 国产亚洲精品久久久久久| 最近中文字幕mv在线一区二区三区四区| 日韩成人av网| 北条麻妃99精品青青久久| 久久露脸国产精品| 亚洲欧美综合精品久久成人| 精品视频www| 亚洲国产精品一区二区三区| 国产噜噜噜噜噜久久久久久久久| 韩国日本不卡在线| 午夜精品久久久久久久99热浪潮| 亚洲国产婷婷香蕉久久久久久| 久久精品亚洲94久久精品| 国产日本欧美一区| 欧美一级片久久久久久久| 欧美精品福利视频| 亚洲精品有码在线| 久久国内精品一国内精品| 成人国产精品一区二区| 欧美日韩国产成人在线| 国产美女被下药99| 亚洲国产免费av| 精品久久香蕉国产线看观看亚洲| 久久亚洲精品一区二区| 日韩中文字幕精品视频| 精品久久久久久亚洲国产300| 国产精品亚洲美女av网站| 亚洲欧美综合图区| 国产91露脸中文字幕在线| 中文字幕在线观看亚洲| 国产午夜精品免费一区二区三区| 自拍偷拍亚洲欧美| 欧美在线观看一区二区三区| 国产午夜一区二区| 中文字幕日韩免费视频| 亚洲一级黄色片| 久久电影一区二区| 国产一区二区三区18| 欧美激情在线有限公司| 亚洲一区二区三区香蕉| 国产日本欧美一区二区三区在线| 国产精品影院在线观看| 亚洲午夜久久久久久久| 日韩中文在线观看| 一区二区三区无码高清视频| 91久久夜色精品国产网站| 成人妇女免费播放久久久| 亚洲视频自拍偷拍| 亚洲影视九九影院在线观看| 中文字幕亚洲第一| 欧美小视频在线| 久久亚洲欧美日韩精品专区| 国产脚交av在线一区二区| 日韩免费电影在线观看| 97色在线播放视频| 久久久久国产精品免费| 97人人模人人爽人人喊中文字| 成人免费福利在线| 色婷婷综合成人av|