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

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

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

    隨筆-86  評(píng)論-33  文章-0  trackbacks-0
    =========自定義標(biāo)簽學(xué)習(xí)總結(jié)========= 2005年7月28日 09:54:07 Derek

    標(biāo)簽的運(yùn)行方式是:
    JSP頁(yè)面解析中發(fā)現(xiàn)自定義標(biāo)簽,則到上面的標(biāo)簽說(shuō)明中尋找:如
    <%@ taglib uri="/mytitle.tld" prefix="dada"%>
    此時(shí)它會(huì)找到該標(biāo)簽的uri ,uri 在web.xml中已經(jīng)定義了
     <taglib>
        
    <taglib-uri>/mytitle.tld</taglib-uri>
        
    <taglib-location>/WEB-INF/mytitle.tld</taglib-location>
      
    </taglib>
    此時(shí)它會(huì)通過(guò)uri在web.xml中查找到該標(biāo)簽的描述文件tld。那么在tld描述文件中又定義了該標(biāo)簽的處理類(lèi),具體完成業(yè)務(wù)的操作,標(biāo)簽處理類(lèi)繼承TagSupport,處理類(lèi)完成操作后將返回頁(yè)面。
    <name>title</name>
        
    <tagclass>com.derek.tags.TitleTag</tagclass>
     
     準(zhǔn)備工作 :首先在WEB-INF\lib下添加taglibs-log.jar包
    1、創(chuàng)建標(biāo)簽描述文件
         在WEB-INF下新建一個(gè)tld文件,該文件描述了此tld文件將由那個(gè)處理類(lèi)完成操作,并且定義了該標(biāo)簽的屬性。一個(gè)<taglib>中可以有很多個(gè)<tag>,由<name>標(biāo)簽名區(qū)分。
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
    <taglib>
    <tlibversion>1.0</tlibversion>
    <jspversion>1.1</jspversion>
    <shortname>html</shortname>
    <uri>http://jakarta.apache.org/struts/tags-html</uri>

    <tag>
         
    <name>title</name>
        
    <tagclass>com.derek.tags.TitleTag</tagclass>
        
    <bodycontent>empty</bodycontent>
        
    <attribute>
            
    <name>begin</name>
            
    <required>true</required>
        
    </attribute>
            
    <attribute>
            
    <name>end</name>
            
    <required>true</required>
        
    </attribute>
    </tag>

    </taglib>

    2、創(chuàng)建標(biāo)簽處理類(lèi)
         該類(lèi)繼承  TagSupport,覆蓋doEndTag()方法
       
    package com.derek.tags;

    import javax.servlet.jsp.tagext.TagSupport;
    import javax.servlet.jsp.JspException;
    import java.util.Properties;
    import java.io.
    *
    ;
    import javax.servlet.jsp.JspWriter;

    public class
     TitleTag extends TagSupport {
      
    private String begin = null
    ;
      
    private String end = null
    ;
      
    public
     TitleTag() {}
      
    public String getBegin() {return
     begin;}
      
    public void setBegin(String begin) {this.begin =
     begin;}
      
    public String getEnd(){return
     end;}
      
    public void setEnd(String end){this.end =
     end;}

      
    public int
     doEndTag() throws JspException {
        Properties ps 
    = (Properties)pageContext.getAttribute("ps",pageContext.APPLICATION_SCOPE);//從上下文中取的message.properties

                      JspWriter jw = pageContext.getOut();
        
    if(begin!=null&&begin.length()>0
    ){
           String header 
    =
     ps.getProperty(begin);
           System.
    out.println("頁(yè)眉"+
    begin);
           
    try
     {
          jw.println(header);
            }
    catch
     (IOException ex) {ex.printStackTrace();}
        }
        
    if(end!=null&&end.length()>0
    ){
           String footer 
    =
     ps.getProperty(end);
           System.
    out.println(" 頁(yè)腳"+
    end);
        
    try
     {
          jw.println(footer);
          }
    catch
     (IOException ex1) {ex1.printStackTrace();}
        }
        
    return
     SKIP_BODY;
      }

      
    public void
     release() {
        super.release();
      }
    }

    3、修改web.xml文件
      在web.xml中<web-app>下添加,將標(biāo)簽的uri與具體標(biāo)簽描述文件綁定
    <taglib>
        
    <taglib-uri>/mytitle.tld</taglib-uri>
        
    <taglib-location>/WEB-INF/mytitle.tld</taglib-location>
    </taglib>

    4、在頁(yè)面中使用標(biāo)簽
    首先在頁(yè)面中導(dǎo)入標(biāo)簽
    <%@ taglib uri="/mytitle.tld" prefix="dada"%>
    該句表示標(biāo)簽前綴為“dada”的標(biāo)簽將調(diào)用uri指定的標(biāo)簽,uri可以隨便起名字,但一定要可web.xml中定義的uri相對(duì)應(yīng)。
    然后就可以在頁(yè)面中使用了
    <dada:title begin="" end="footer"/>

    posted on 2005-09-11 09:56 Derek.Guo 閱讀(543) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Java
    MSN:envoydada@hotmail.com QQ:34935442
    主站蜘蛛池模板: 丰满妇女做a级毛片免费观看| 亚洲国产日韩成人综合天堂| 91免费国产视频| 亚洲欧美日本韩国| 2022年亚洲午夜一区二区福利| 亚洲成av人片一区二区三区| 国产一卡2卡3卡4卡无卡免费视频| 91精品成人免费国产| 精品在线观看免费| 国产亚洲精品影视在线| 久久久无码精品亚洲日韩京东传媒| 免费观看亚洲人成网站| 免费观看男人免费桶女人视频| 亚洲成年人免费网站| 最近最新高清免费中文字幕 | 无码AV片在线观看免费| caoporn成人免费公开| 污网站在线免费观看| 亚洲精品无码久久| 亚洲精华液一二三产区| 亚洲日韩精品国产一区二区三区| 亚洲视频在线一区二区三区| 国产精品亚洲片在线| 在线精品亚洲一区二区小说| 亚洲国产精品狼友中文久久久| www.亚洲色图.com| 亚洲高清最新av网站| 免费国产精品视频| 无码不卡亚洲成?人片| 免费中文字幕在线观看| 免费h成人黄漫画嘿咻破解版| 精品久久免费视频| 免费a级毛片在线观看| 午夜亚洲福利在线老司机| 亚洲一区二区三区乱码A| 亚洲福利中文字幕在线网址| 国产成人精品曰本亚洲79ren| 久久精品夜色噜噜亚洲A∨| 亚洲乱码一区二区三区在线观看 | 亚洲av专区无码观看精品天堂| 亚洲午夜久久久久久尤物|