首页常见问题正文

自定义标签的开发步骤是什么?

更新时间:2024-02-29 来源:黑马程序员 浏览量:

IT培训班

  前面我们已经学习了自定义标签的基本知识,接下来讲解如何开发一个自定义标签。开发一个自定义标签至少需要三个步骤,具体如下。

  1.编写标签处理器

  开发自定义标签的核心任务就是要编写作为标签处理器的Java类。

  (1)传统标签开发,需要实现javax.servlet.jsp.tagext.Tag接口。

  (2)简单标签开发,需要实现javax.servlet.jsp.tagext.SimpleTag接口。

  Tag接口和SimpleTag接口定义了JSP页面与标签处理器类之间的通信规则。如果JSP引擎在编译JSP页面时遇到自定义标签,传统标签将会调用标签处理器类的doStartTag()方法,简单标签将会调用标签处理器类的doTag()方法。

  2.编写标签库描述符文件

  要想让JSP引擎在遇到自定义标签时,能找到对应的标签处理器类,还必须编写一个标签库描述符(Tag Library Descriptor)文件,简称TLD文件。TLD文件与标签处理器之间的关系就如同web.xml文件与Servlet之间的关系,一个标签处理器类要想被JSP容器找到并调用,必须在TLD文件中进行注册,一个TLD文件中可以注册多个标签处理器类,每个自定义标签的注册名称不能相同,同一个TLD文件中注册的多个标签处理器类就形成了一个自定义标签库。TLD文件是基于XML文件的,其内容的编写需要遵循XML语法规范。

  下面编写一个名为mytag.tld的标签库描述符文件,具体示例如下。

<? xml version="1.0" encoding="GBK" ?>
<!--自定义标签的根标签是<taglib>,根标签使用的是schema约束,根标签的属性及其取值,
通常是固定不变的-->
<taglib xmlns="
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
    version="2.0">
    <!--TLD的头文件,这部分信息通常是固定不变的-->
    <!--指定标签库的版本号-->
    <tlib-version>1.0</tlib-version>
    <!--指定标签库的名称-->
    <short-name>SimpleTag</short-name>
    <!--指定标签库的URI-->
    <uri>http://www.itcast.cn</uri>
    <!--注册一个自定义的标签-->
    <tag>
        <!--指定自定义标签的注册名称-->
        <name>ipTag</name>
        <!--指定标签的标签处理器类-->
        <tag-class>cn.itcast.chapter09.tag.ipTag</tag-class>
        <!--指定标签体的类型,empty表示标签体为空-->
        <body-content>empty</body-content>
    </tag>
</taglib>

  在上述tld文件中,通过注释的方式为每个元素进行了说明。

  本文版权归黑马程序员Java培训学院所有,欢迎转载,转载请注明作者出处。谢谢!

  作者:黑马程序员Java培训学院

  首发:https://java.itheima.com

分享到:
在线咨询 我要报名
和我们在线交谈!