自定义标签开发步骤:

来源:互联网 发布:大国医郭三贴 淘宝网 编辑:程序博客网 时间:2024/04/30 08:56


    自定义标签实现步骤:
    

  1、  自定义类    MyTagSupport   extends TagSupport 
 
     1-2、 重写doStartTag()方法处理开始标签 ---------><XXXX >
          返回SKIP_BODY(跳过标签体)
          返回EVAL_BODY_INCLUDE(显示标签间的文字)
        
        
     1-2、 重写doEndTag()方法处理结束标签 ----------></XXXX>     
            EVAL_PAGE (处理完标签后继续执行以下的JSP网页)
            SKIP_PAGE(不处理接下来的JSP网页 )
        
         默认
         doStartTag()返回SKIP_BODY,
         doAfterBody()返回SKIP_BODY,
         doEndTag()返回EVAL_PAGE.
 
 
 
  2 、编写 标签描述文件  XXX. tld ,一个tld文件可以配置多个不同标签
     他是XMl文件,最好到jdk中复制它的基本框架
  <?xml version="1.0" encoding="UTF-8" ?>
  <taglib xmlns="
http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
    version="2.0">
   <!--上面的原封不动copy-->
   
   <tlib-version>1.0</tlib-version>
   <jsp-version>2.0</jsp-version>
   <short-name>mytag</short-name>
   <uri>/mytag</uri>
  
  <!--   这里的uri自定义的 但是一定要和jsp页面和web .xml配置中一致  -->
   <description>Custom Tag Demo</description>   
   
  <!----下面是对标签的描述,一个标签描述写在一个<tag>中,这个文件中可以描述多个自定义标签---->
   <tag>
 <description>分页的标签</description>
 <name>mytagname</name>  <!-------jsp页面要使用的标签名 自己定义 ---------->
 <tag-class>package.MyTagSupport</tag-class><!-----处理标签的Java类完整路径,带包名的-------->
 <body-content> empty </body-content>
 <!---指明标签体的内容,单标签:empty  双标签:JSP----------->
 
 <!---下面是对标签的属性的描述,如果有属性的话-->
   <attribute>
        <description>方向</description> <!-----属性的说明------>
        <name>direction</name> <!-----属性名称------->
        <required>true</required><!-----是否必须有该属性------>
        <rtexprvalue>false</rtexprvalue>
       <!----- 是静态值还是动态值,true代表动态(EL),false代表静态(String)------->
    </attribute>
  </tag>
 
    </taglib>
 
 
  3 、 web.xml中注册自己的标签 (一个tld 只注册一次)
   <taglib>
        <taglib-uri> /mytag</taglib-uri>  //同tld中uri
        <taglib-location> /WEB-INF/MyUpDownPage.tld </taglib-location>
       <!--   指明tld文件详细位置,一般tld文件放在WEB-INF目录下,但是不要放在lib和classes 中 -->
   </taglib>
    
 
  4、页面使用:
        4-1:  导入自定义标签   uri:同web.xml中一致   prefix:标签前缀,可以自己定义值
        <%@ taglib  uri="/mytag"   prefix="p"%>
 
        4-2:页面使用
                 <p:mytagname   direction="up" /> 
                 <p:mytagname   direction="down" />

 

 

原创粉丝点击