欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2013年04月18日 12:02:48   作者:  
本篇文章小編為大家介紹,基于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)簽對應(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ò)誤處理頁面:

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

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文件中對標(biāo)簽處理器類進(jìn)行描述(tld文件的位置:WEB-INF下)
*在jsp頁面中導(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頁面是否執(zhí)行;
*控制jsp頁面某一部分內(nèi)容是否執(zhí)行;
*控制jsp頁面內(nèi)容重復(fù)執(zhí)行;
*修改jsp頁面內(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;
}

相關(guān)文章

  • 詳解Spring的核心機(jī)制依賴注入

    詳解Spring的核心機(jī)制依賴注入

    這篇文章主要介紹了詳解Spring的核心機(jī)制依賴注入的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • 用JSP操作Cookie

    用JSP操作Cookie

    用JSP操作Cookie...
    2006-10-10
  • ssh生成隨機(jī)數(shù)字驗(yàn)證碼操作步驟

    ssh生成隨機(jī)數(shù)字驗(yàn)證碼操作步驟

    隨機(jī)數(shù)字驗(yàn)證碼生成方法很多,接下來將介紹下jsp中時(shí)如何實(shí)現(xiàn)的,感興趣的朋友可以參考下,希望本文對你有所幫助
    2013-02-02
  • Spring AOP代理詳細(xì)介紹

    Spring AOP代理詳細(xì)介紹

    這篇文章主要介紹了Spring AOP代理詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • JSP清除頁面緩存常用方法小結(jié)

    JSP清除頁面緩存常用方法小結(jié)

    這篇文章主要介紹了JSP清除頁面緩存常用方法,實(shí)例總結(jié)了JSP清理頁面緩存、cookie緩存、session緩存及利用JavaScript清理緩存的相關(guān)技巧,需要的朋友可以參考下
    2015-11-11
  • JSP技術(shù)實(shí)現(xiàn)RSS訂閱功能的示例

    JSP技術(shù)實(shí)現(xiàn)RSS訂閱功能的示例

    用JSP技術(shù)實(shí)現(xiàn)RSS功能是如何做到的呢?本文將向你介紹一下具體的實(shí)現(xiàn),如果你對用JSP技術(shù)實(shí)現(xiàn)RSS功能感興趣,那么這篇文章是你的選擇。
    2016-10-10
  • 我認(rèn)為JSP有問題(上)

    我認(rèn)為JSP有問題(上)

    我認(rèn)為JSP有問題(上)...
    2006-10-10
  • JSP 制作驗(yàn)證碼的實(shí)例詳解

    JSP 制作驗(yàn)證碼的實(shí)例詳解

    這篇文章主要介紹了JSP 制作驗(yàn)證碼的實(shí)例詳解的相關(guān)資料,現(xiàn)在Servlet上畫出驗(yàn)證碼的圖片,讓其顯示到頁面上,再用js方法能刷新驗(yàn)證碼,可以用ajax得到用戶輸入的值經(jīng)過servlet跟驗(yàn)證碼比對判斷是否,并符合提示用戶,需要的朋友可以參考下
    2017-08-08
  • 最新評論