<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    想飛就別怕摔

    大爺?shù)牟M罵人

    簡單的標(biāo)簽編程【學(xué)習(xí)筆記】

    創(chuàng)建和使用一個(gè)Tag Library的基本步驟

    1、創(chuàng)建標(biāo)簽的處理類(Tag Handler Class)
    2、創(chuàng)建標(biāo)簽庫描述文件(Tag Library Descrptor File)
    3、在web.xml文件中配置元素
    4、在JSP文件中引人標(biāo)簽庫


    標(biāo)簽庫程序應(yīng)該有一下幾部分組成
        標(biāo)簽的具體實(shí)現(xiàn)文件(*.java)
        標(biāo)簽的描述文件(*.tld)
       如果需要可以在web.xml中進(jìn)行配置
        在jsp中通過標(biāo)簽進(jìn)行自定義標(biāo)簽的調(diào)用
    *.tld文件是標(biāo)簽的描述文件,此文件對(duì)標(biāo)簽庫的運(yùn)行起決定性作用。*.tld文件也是一個(gè)XML文件,如果是使用XML,則需要DTD、SCHEMA支持。

    標(biāo)簽庫的接口和類的繼承關(guān)系:
    JsTag<interface>←←SimpleTag<interface>←←SimpleTagSupport<class>
    JsTag<interface>←←Tag<interface>←←Iterater Tag<interface>←←TagSupport<class>←←BodyTagSupport<class>

    幾種典型的標(biāo)簽:

        不帶屬性和主體的簡單標(biāo)簽:<mytaglibs:SomeTag/>
        有屬性沒有主體的標(biāo)簽:   <mytaglibs:SomeTag user="hellking"/>
        帶有主體和屬性的標(biāo)簽:   <mytaglibs:SomeTag user="hellking"/>主體部分可以是jsp內(nèi)容或標(biāo)簽</mytaglibs:SomeTag>

     傳統(tǒng)的標(biāo)簽的生命周期:

        1.setPageContext:當(dāng)容器創(chuàng)建一個(gè)新的標(biāo)簽后,通過setPageContext來設(shè)置標(biāo)簽頁面的上下文;
        2.setParent:使用setParent方法設(shè)置一個(gè)標(biāo)簽的上一級(jí)標(biāo)簽,如果沒有上一級(jí),設(shè)為NULL;
        3.setAttribute:設(shè)置標(biāo)簽的屬性,這個(gè)屬性在標(biāo)簽描述文件中定義,如果沒有定義屬性,則不用調(diào)用此方法;
        4.doStartTag():調(diào)用doStartTag()方法,當(dāng)返回EVAL_BODY_INCLUDE時(shí),就計(jì)算body,返回SKIP_BODY反之;
        5.doEndTag():調(diào)用doEndTag()方法,當(dāng)返回EVAL_PAGE時(shí),容器將在標(biāo)簽結(jié)束時(shí)繼續(xù)計(jì)算JSP的其他部分,SKIP_PAGE反之;
        6.release():調(diào)用release()方法釋放標(biāo)簽程序占用的任何資源。

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
     3                         "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
     4 <taglib>
     5  <tlib-version>1.0</tlib-version>
     6  <jsp-version>2.0</jsp-version>
     7  <short-name>hello</short-name>
     8  <tag>
     9   <name>shan</name>
    10   <tag-class>org.zzn.demo01.Hello</tag-class>
    11   <body-content>empty</body-content>
    12  </tag>
    13 </taglib>
    建立Java文件代碼:
     1 package org.zzn.demo01;
     2 import java.io.IOException;
     3 import javax.servlet.jsp.JspException;
     4 import javax.servlet.jsp.JspWriter;
     5 import javax.servlet.jsp.tagext.TagSupport;
     6 
     7 public class Hello extends TagSupport {
     8     @Override
     9     public int doStartTag() throws JspException {
    10         //向jsp頁面中打印“蜘蛛俠”字符串
    11         String str = "蜘蛛俠";
    12         JspWriter out = pageContext.getOut();
    13         try {
    14             out.println(str);
    15         } catch (IOException e) {
    16             // TODO Auto-generated catch block
    17             e.printStackTrace();
    18         }
    19         return TagSupport.SKIP_BODY;
    20     }
    21 }
    22 

    建立jsp文件代碼:
     1 <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
     2 <%@ taglib uri="/WEB-INF/hello.tld" prefix="zzn"%>
     3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     4 <html>
     5   <head>
     6     <title>My JSP 'Hello.jsp' starting page</title>
     7   </head>
     8   <body>
     9       <h2><zzn:shan/></h2>
    10   </body>
    11 </html>

    posted on 2008-12-29 13:09 生命的綻放 閱讀(270) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA

    <2008年12月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(5)

    隨筆分類(94)

    隨筆檔案(93)

    文章分類(5)

    文章檔案(5)

    相冊(cè)

    JAVA之橋

    SQL之音

    兄弟之窗

    常用工具下載

    積分與排名

    最新評(píng)論

    閱讀排行榜

    主站蜘蛛池模板: 亚洲AV无码专区在线电影成人| 亚洲美女色在线欧洲美女| 亚洲五月综合缴情在线观看| 亚洲精品成人无限看| 亚洲精品在线网站| 亚洲日韩精品国产3区| 成在线人直播免费视频| 日韩电影免费在线观看中文字幕| 国产成人免费午夜在线观看| 国产精品无码素人福利免费| 在线亚洲精品自拍| 亚洲高清不卡视频| 国产精品国产亚洲区艳妇糸列短篇| 国产成人无码精品久久久免费| 99re6在线精品视频免费播放| 成年在线网站免费观看无广告| 亚洲最大av无码网址| 亚洲黑人嫩小videos| 极品色天使在线婷婷天堂亚洲| 野花香高清在线观看视频播放免费 | 成人婷婷网色偷偷亚洲男人的天堂| 国产精品无码免费专区午夜| 99久久99这里只有免费费精品| 亚洲精品国产精品乱码不卞| 亚洲欧洲精品国产区| 色吊丝免费观看网站| 国产精品久久永久免费| 国产成人精品日本亚洲专区| 亚洲区精品久久一区二区三区| 国产精品午夜免费观看网站| 成人人免费夜夜视频观看| 久久亚洲国产中v天仙www| 亚洲av日韩av永久无码电影 | 九一在线完整视频免费观看| 最近免费mv在线电影| 亚洲精品无码99在线观看| 亚洲一区在线视频| 在线观看免费无码专区| 国产一级淫片a免费播放口之 | 亚洲码在线中文在线观看| 又硬又粗又长又爽免费看 |