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

基于JSP 自定義標簽使用實例介紹

添加JSP自定義標簽:

先添加一個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><!-- 一個tag標簽對應一個自定義tag標簽類 -->
<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>
引用規則:
<%@ taglib uri="http://www.cnweb.cn" prefix="cnweb"%>

 定義錯誤處理頁面:

<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>

自定義標簽執行流程:

SimpleTagSupport

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

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

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

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
/*編寫一個實現TagSupport的類;
*在tld文件中對標簽處理器類進行描述(tld文件的位置:WEB-INF下)
*在jsp頁面中導入和使用標簽
*
*jsp執行過程中遇到自定義標簽時,先實例化該類;
*然后執行方法:setPageContext()-->setParent()-->doStartTag()
*如果有標簽體,一般會執行標簽體;doEndTag()-->整個標簽執行完后一般會執行:release()
*
*控制整個jsp頁面是否執行;
*控制jsp頁面某一部分內容是否執行;
*控制jsp頁面內容重復執行;
*修改jsp頁面內容輸出;
*/

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

jsp技術基于JSP 自定義標簽使用實例介紹,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲精品国产A久久久久久 亚洲精品国产AV成人毛片 | 一区二区三区四区国产 | 偷偷鲁青春草原视频 | 欧美91精品久久久久网免费 | 国产亚洲精品97在线视频一 | 国产精品视频在线自在线 | 少妇人妻偷人精品视蜜桃 | 嘟嘟嘟影院免费观看视频 | 亚洲国产成人精品不卡青青草原 | 日本不卡免免费观看 | 久久精品视在线观看2 | 一本道dvd久久综合高清免费 | 亚洲国产精麻豆 | 擼擼擼麻豆密臀AV | yellow在线观看免费高清的日本 | 恋夜影视列表免费安卓手机版 | 人人碰79免费视频 | asian极品呦女xx农村 | 国产AV精品一区二区三区漫画 | 无码专区aaaaaa免费视频 | 久久偷拍国2017的 | 色橹| 中文无码熟妇人妻AV在线 | 9久久99久久久精品齐齐综合色圆 | bbw videos 欧美老妇 | 狠狠色狠色综合曰曰 | 日本一区不卡在线播放视频免费 | 男人到天堂a在538线 | 日本特交大片免费观看 | 欧美亚洲国产免费高清视频 | 日本三级黄色大片 | 午夜福利电影网站鲁片大全 | 男人天堂2018亚洲男人天堂 | 波多野结衣二区 | 六六影院午夜伦理 | 石原莉奈rbd806中文字幕 | 亚洲精品www久久久久久 | 国产精品美女久久久久浪潮AV | 2023国产精品一卡2卡三卡4卡 | 中文字幕视频在线免费观看 | 亚洲精品国产高清不卡在线 |