自定义标签库(Tag library)
简介
- JSP标签库技术可以让我们定制自己的标签。
- 我们前边讲解了JSP动作标签,动作标签本质上就是一段Java代码,在JSP页面被转换为Servlet期间,JSP引擎解析到JSP文件就会将动作标签转换为我们预先定义好的Java代码。
- 同样,自定义标签实际上一个实现了特定接口的Java类,封装了一些常用功能。在运行时,标签将被响应的Java代码所代替。多个标签就构成了标签库。
- 简单来说,标签库就是让我们以标签的形式在JSP中调用Java程序。
- 完成一个自定义标签,需要两个步骤:
- 1.编写标签处理器类(Tag Handle Class)
- 2.编写标签库描述文件(Tag Library Descriptor)
相关接口
- 在自定义标签的API中,最大的接口为JspTag接口,该接口是所有标签中最大的一个接口,所有的标签类都是该接口的后代。
- 由上图可以看出,自定义标签的API一共有两个分支:
- 第一个分支是Tag,该接口比较古老,一般我们不会通过该分支实现自定义标签。
- 第二个分支是SimpleTag,该接口实现自定义标签比较简单,一般我们都是通过实现该接口来完成自定义标签的处理器类。
通过SimpleTag接口实现
1.编写标签处理器类(Tag Handle Class)
- 上文我们说到,标签库就是让我们以标签的形式在JSP页面中调用Java程序,既然是Java程序那我们就先来编写一个标签处理器类。
- 首先我们需要编写一个类来实现SimpleTag接口,实现之前先来看一下这个接口。
-
- SimpleTag接口中共有5个抽象方法
- doTag() 标签执行时被调用的方法,我们主要编写的方法。
- setParent(JspTag) 设置父标签的方法
- getParent() 获取父标签的方法
- setJspContext(JspContext) 设置pageContext的方法
- setJspBody(JspFragment) 设置标签体的方法
- SimpleTag接口中共有5个抽象方法
- 实现SimpleTag
本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源。