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

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

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

    隨筆-86  評論-33  文章-0  trackbacks-0
    =========自定義標簽學習總結========= 2005年7月28日 09:54:07 Derek

    標簽的運行方式是:
    JSP頁面解析中發現自定義標簽,則到上面的標簽說明中尋找:如
    <%@ taglib uri="/mytitle.tld" prefix="dada"%>
    此時它會找到該標簽的uri ,uri 在web.xml中已經定義了
     <taglib>
        
    <taglib-uri>/mytitle.tld</taglib-uri>
        
    <taglib-location>/WEB-INF/mytitle.tld</taglib-location>
      
    </taglib>
    此時它會通過uri在web.xml中查找到該標簽的描述文件tld。那么在tld描述文件中又定義了該標簽的處理類,具體完成業務的操作,標簽處理類繼承TagSupport,處理類完成操作后將返回頁面。
    <name>title</name>
        
    <tagclass>com.derek.tags.TitleTag</tagclass>
     
     準備工作 :首先在WEB-INF\lib下添加taglibs-log.jar包
    1、創建標簽描述文件
         在WEB-INF下新建一個tld文件,該文件描述了此tld文件將由那個處理類完成操作,并且定義了該標簽的屬性。一個<taglib>中可以有很多個<tag>,由<name>標簽名區分。
    <?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、創建標簽處理類
         該類繼承  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("頁眉"+
    begin);
           
    try
     {
          jw.println(header);
            }
    catch
     (IOException ex) {ex.printStackTrace();}
        }
        
    if(end!=null&&end.length()>0
    ){
           String footer 
    =
     ps.getProperty(end);
           System.
    out.println(" 頁腳"+
    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>下添加,將標簽的uri與具體標簽描述文件綁定
    <taglib>
        
    <taglib-uri>/mytitle.tld</taglib-uri>
        
    <taglib-location>/WEB-INF/mytitle.tld</taglib-location>
    </taglib>

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

    posted on 2005-09-11 09:56 Derek.Guo 閱讀(543) 評論(0)  編輯  收藏 所屬分類: Java
    MSN:envoydada@hotmail.com QQ:34935442
    主站蜘蛛池模板: 亚洲AV日韩AV鸥美在线观看| 免费高清在线影片一区| 亚洲综合精品网站| 国产成人va亚洲电影| 免费观看毛片视频| 久久精品熟女亚洲av麻豆| 免费的一级片网站| 亚洲色www永久网站| 免费看a级黄色片| 亚洲AV无码专区在线厂| 国产又大又粗又硬又长免费 | 亚洲国产精品一区二区三区在线观看 | 免费日本黄色网址| 理论秋霞在线看免费| 亚洲高清无码专区视频| 国产高潮久久免费观看| 亚洲精品无码鲁网中文电影| 日韩电影免费观看| 亚洲欧洲国产精品久久| 亚洲成在人线aⅴ免费毛片| 亚洲欧美国产国产一区二区三区| 午夜视频免费成人| 日本一区二区在线免费观看 | 亚洲日本一线产区和二线产区对比| 最近中文字幕无吗免费高清| 久久亚洲AV成人无码国产最大| 五月天婷亚洲天综合网精品偷| 国产免费一区二区三区免费视频| 亚洲国产精品嫩草影院在线观看| 182tv免费视视频线路一二三| 亚洲成av人在线观看网站| 亚洲国产成人精品女人久久久 | 添bbb免费观看高清视频| 亚洲综合日韩久久成人AV| 免费人妻无码不卡中文字幕系| 伊人久久五月丁香综合中文亚洲| 亚洲精品视频在线观看你懂的| 无码午夜成人1000部免费视频| 亚洲国产熟亚洲女视频| 亚洲中文久久精品无码| 久久国内免费视频|