天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

基于JSP 自定義標(biāo)簽使用實(shí)例介紹

添加JSP自定義標(biāo)簽:

先添加一個(gè)tld文件到WEB-INF文件夾中
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://Java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://Java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"
version="2.0">

<description>myTag</description>
<display-name>JSTL core</display-name>
<tlib-version>1.0</tlib-version>
<short-name>cnweb</short-name>
<uri>http://www.cnweb.cn</uri>

<tag><!-- 一個(gè)tag標(biāo)簽對(duì)應(yīng)一個(gè)自定義tag標(biāo)簽類 -->
<description>MyTag</description>
<name>when</name>
<tag-class>cn.example.when</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>test</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
引用規(guī)則:
<%@ taglib uri="http://www.cnweb.cn" prefix="cnweb"%>

 定義錯(cuò)誤處理頁(yè)面:

<error-page>
<exception-type>Java.lang.Exception</exception-type>
<location>/errors/error.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/errors/error1.jsp</location>
</error-page>

自定義標(biāo)簽執(zhí)行流程:

SimpleTagSupport

/* Jsp引擎遇到簡(jiǎn)單類,實(shí)例化該類;
* 調(diào)用setJspContext,把頁(yè)面pageContext傳遞給標(biāo)簽處理類;
* 調(diào)用setParent把父標(biāo)傳遞進(jìn)去,如果沒有,傳遞null
* 調(diào)用setJspBody方法,把封裝了標(biāo)簽體JspFragment傳遞給標(biāo)簽處理器類
* 執(zhí)行頁(yè)面中的自定義標(biāo)簽,doTag()方法;-->執(zhí)行完成,銷毀對(duì)象
*/

JspFragment jf = this.getJspBody();
jf.invoke(this.getJspContext().getOut());//如果不顯示則不進(jìn)行處理

--------------------------------------------------------------------

public class tagShowOrNot extends TagSupport {
public int doStartTag() throws JspException {
return Tag.EVAL_BODY_INCLUDE;//顯示body
//return Tag.SKIP_BODY;//隱藏body
//Tag.EVAL_PAGE;//顯示page
//Tag.SKIP_PAGE;//隱藏page
}} 

TagSupport
/*編寫一個(gè)實(shí)現(xiàn)TagSupport的類;
*在tld文件中對(duì)標(biāo)簽處理器類進(jìn)行描述(tld文件的位置:WEB-INF下)
*在jsp頁(yè)面中導(dǎo)入和使用標(biāo)簽
*
*jsp執(zhí)行過程中遇到自定義標(biāo)簽時(shí),先實(shí)例化該類;
*然后執(zhí)行方法:setPageContext()-->setParent()-->doStartTag()
*如果有標(biāo)簽體,一般會(huì)執(zhí)行標(biāo)簽體;doEndTag()-->整個(gè)標(biāo)簽執(zhí)行完后一般會(huì)執(zhí)行:release()
*
*控制整個(gè)jsp頁(yè)面是否執(zhí)行;
*控制jsp頁(yè)面某一部分內(nèi)容是否執(zhí)行;
*控制jsp頁(yè)面內(nèi)容重復(fù)執(zhí)行;
*修改jsp頁(yè)面內(nèi)容輸出;
*/

//該方法在執(zhí)行標(biāo)簽體后,執(zhí)行doEndTag()方法之前執(zhí)行,直到該方法返回IterationTag.SKIP_BODY;
public int doAfterBody() throws JspException {
time--;
System.out.println("重復(fù)" + time);
if (time > 0) {
return IterationTag.EVAL_BODY_AGAIN;
} else
return IterationTag.SKIP_BODY;
}

jsp技術(shù)基于JSP 自定義標(biāo)簽使用實(shí)例介紹,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲av欧美在我 | 人妻无码AV中文系列 | 美女被免费喷白浆视频 | 啊叫大点声欠CAO的SAO贷 | ppypp日本欧美一区二区 | 中文字幕亚洲无线码在线 | 99爱在线精品视频网站 | 456亚洲人成在线播放网站 | 久久日本精品国产精品 | 优优色影院 | 极品少妇伦理一区二区 | 2020精品极品国产色在线 | www.欧美与曽交性video | 久久久96 | 亚洲日本香蕉视频观看视频 | 亚洲精品福利一区二区在线观看 | 极品少妇高潮啪啪AV无码 | 伊人久久综合成人亚洲 | av56788成 人影院 | 国产成人免费a在线资源 | 日本色女孩影院 | 亚州免费一级毛片 | 精品视频一区二区三三区四区 | 青青草原伊人 | 国外色幼网 | 精品国产乱码久久久久久口爆 | 日本又黄又裸一级大黄裸片 | 美国色吧影院 | 91在线一区二区 | 伊人久久久久久久久久 | 99免费在线观看 | 欧美一区二区VA毛片视频 | 乳女教师欲乱动漫无修版动画 | 男人边吃奶边摸边做刺激情话 | 9999精品视频 | 久久笫一福利免费导航 | 亚洲在线无码免费观看 | 爱情岛论坛免费在线观看 | 久久精品国产在热亚洲完整版 | 大胸女晃奶动态图 | 草莓视频免费在线观看 |