posts - 42,  comments - 84,  trackbacks - 0

          1、實現自定義Taglib的類需要實現javax.servlet.jsp.tagext.IterationTag或者

          javax.servlet.jsp.tagext.TagSupport、javax.servlet.jsp.tagext.BodyTag接口,目前J2EE提供了兩

          個分別實現了這兩個接口的類,我們只需要直接繼承就可以,它們分別為BodyTagSupport、TagSupport
          繼承兩個類中的一個就可以完成一個屬于自己的Taglib類
          package cn.dong;

          import java.io.IOException;
          import cn.dong.Person ;
          import javax.servlet.jsp.JspException;
          import javax.servlet.jsp.tagext.Tag;
          import javax.servlet.jsp.tagext.TagSupport;

          public class TagServer extends TagSupport {
           
           String name ;

           public void setName(String name) {
            this.name = name;
           }

           public int doStartTag() throws JspException {
            Person per = new Person() ;
            try {
             pageContext.getOut().println("Userid:"+name) ;
            } catch (IOException e) {
             e.printStackTrace();
            }
            return SKIP_BODY ;
           }


          }

          2、寫tld文件
          tld文件本身是xml標準文檔的一種,可以通過tld文件配置出Taglib的各種標記所對應的類實現
          <?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>mytag</shortname>
           <uri></uri>
           <tag>
            <name>hello</name>//標簽方法名
            <tagclass>cn.dong.TagServer</tagclass>//指向的類
            <bodycontent>empty</bodycontent>
            <info>Tag with Parameter</info>
            <attribute>//定義傳遞的屬性值
             <name>name</name>//屬性名
             <required>true</required>//屬性值是否必須傳輸
             <rtexprvalue>false</rtexprvalue>
            </attribute>
           </tag>
          </taglib>
          這樣一個自定義標記就寫好了,但是要使用它我們還需要在項目中配置
          3、項目部署文件web.xml
          <taglib>
           <taglib-uri>hello</taglib-uri>
           <taglib-location>/WEB-INF/Web.tld</taglib-location>
          </taglib>
          4、在JSP頁面中調用Taglib
          <%@ taglib uri="hello" prefix="show" %>
          這樣我們就完成了所有配置
          在頁面中使用類似<show:hello name="dong"/>就可以看到我們配置的Taglib起的作用了

          posted on 2007-12-19 11:07 Dong 閱讀(1083) 評論(3)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 天镇县| 隆子县| 阿拉善右旗| 弥勒县| 宁蒗| 光山县| 若羌县| 光泽县| 汝南县| 上思县| 珠海市| 纳雍县| 长沙市| 勃利县| 买车| 万山特区| 汝州市| 溧水县| 大港区| 紫金县| 阿城市| 宣威市| 辽中县| 盐池县| 泰来县| 安乡县| 花莲县| 湖口县| 绥德县| 齐齐哈尔市| 赤壁市| 屯门区| 通辽市| 井冈山市| 德令哈市| 高雄县| 西乡县| 江永县| 通辽市| 天水市| 措美县|