posts - 42,  comments - 84,  trackbacks - 0

          1、實(shí)現(xiàn)自定義Taglib的類需要實(shí)現(xiàn)javax.servlet.jsp.tagext.IterationTag或者

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

          個(gè)分別實(shí)現(xiàn)了這兩個(gè)接口的類,我們只需要直接繼承就可以,它們分別為BodyTagSupport、TagSupport
          繼承兩個(gè)類中的一個(gè)就可以完成一個(gè)屬于自己的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標(biāo)準(zhǔn)文檔的一種,可以通過tld文件配置出Taglib的各種標(biāo)記所對(duì)應(yīng)的類實(shí)現(xiàn)
          <?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>//標(biāo)簽描述
           <jspversion>1.1</jspversion>
           <shortname>mytag</shortname>
           <uri></uri>
           <tag>
            <name>hello</name>//標(biāo)簽方法名
            <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>
          這樣一個(gè)自定義標(biāo)記就寫好了,但是要使用它我們還需要在項(xiàng)目中配置
          3、項(xiàng)目部署文件web.xml
          <taglib>
           <taglib-uri>hello</taglib-uri>
           <taglib-location>/WEB-INF/Web.tld</taglib-location>
          </taglib>
          4、在JSP頁面中調(diào)用Taglib
          <%@ taglib uri="hello" prefix="show" %>
          這樣我們就完成了所有配置
          在頁面中使用類似<show:hello name="dong"/>就可以看到我們配置的Taglib起的作用了

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

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 泽州县| 佳木斯市| 英德市| 四平市| 安多县| 西峡县| 台安县| 岳西县| 郑州市| 金寨县| 瑞金市| 杨浦区| 乾安县| 墨江| 道孚县| 临泽县| 东明县| 桦甸市| 永平县| 含山县| 阿克苏市| 广水市| 通城县| 丰宁| 泰安市| 金秀| 仙居县| 渝北区| 辉县市| 白朗县| 清徐县| 克山县| 榕江县| 西贡区| 屏东市| 久治县| 定结县| 简阳市| 大邑县| 安阳市| 响水县|