濮阳杆衣贸易有限公司

主頁 > 知識庫 > 基于JSP 自定義標簽使用實例介紹

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

熱門標簽:四川正規(guī)外呼系統(tǒng)軟件 外呼直播語音系統(tǒng) 汝南縣地圖標注app 智能電話機器人銷售話術 福建電銷貓機器人收費 地圖標注專業(yè)和非專業(yè) 山東ai外呼電銷機器人好用嗎 甘肅銷售電銷機器人公司 湖北地圖標注公司

添加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>
引用規(guī)則:
%@ 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>

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

SimpleTagSupport

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

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

//該方法在執(zhí)行標簽體后,執(zhí)行doEndTag()方法之前執(zhí)行,直到該方法返回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簡單自定義標簽的forEach遍歷及轉義字符示例
  • JSP自定義標簽獲取用戶IP地址的方法
  • jsp自定義標簽技術(實現(xiàn)原理與代碼以及平臺搭建步驟)
  • JSP自定義標簽Taglib實現(xiàn)過程重點總結
  • JSP 自定義標簽之一 簡單實例
  • JSP自定義標簽rtexprvalue屬性用法實例分析
  • JSP自定義標簽-標簽屬性_動力節(jié)點Java學院整理

標簽:白銀 昌都 臨沂 吳忠 肇慶 梅州 黔東 南充

巨人網(wǎng)絡通訊聲明:本文標題《基于JSP 自定義標簽使用實例介紹》,本文關鍵詞  基于,JSP,自定義,標簽,使用,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《基于JSP 自定義標簽使用實例介紹》相關的同類信息!
  • 本頁收集關于基于JSP 自定義標簽使用實例介紹的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    镇安县| 桃园县| 滦南县| 绥宁县| 炉霍县| 丁青县| 米脂县| 宁陕县| 奇台县| 丹巴县| 荃湾区| 边坝县| 上栗县| 萝北县| 布尔津县| 武冈市| 台中市| 炎陵县| 乐东| 扎赉特旗| 哈密市| 博野县| 望江县| 日土县| 盘山县| 如东县| 沭阳县| 云安县| 平罗县| 灵台县| 德兴市| 东平县| 凌源市| 郧西县| 诏安县| 翁牛特旗| 英德市| 松阳县| 东兰县| 宽甸| 辽宁省|