一.为什么要自定义标签
1.jstl提供的标签库不满足我们的需求时,我们可以自定义自己需求的标签
二.自定义标签的步骤
1.写好标签处理类(标签也是一个对象,有他们对应的类)
2.tld文件(属于xml文件,设置标签处理类的信息等)
3.taglic引入标签库(tld文件)
三.标签处理类
1.可以实现的接口是SimpleTag,有如下方法:
(1)void doTag():每次执行标签都会执行的方法
(2)JspParent getParent():获取父标签
(3)void setJspContext(JspContext context):设置JSP上下文对象,他的子类就是PageContext
(4) void setJspBody(JspBody body):设置标签体对象;比如<p>我是P标签</p>中,“我是P标签”属于标签体,EL表达式也可以是标签体
(5)void setParent(JspTag tag):设置父标签
2.在执行doTag()方法之前,会将所有set方法先执行,doTag就可以调用他们了,比PageContext,可以使用其九大内置对象
3.一般我们实现的不是SimpleTag,而是继承SimpleTagSupport实现类,他已经把一些基本的工作都给做好了,我们只需要重写他的doTag方法即可
四.总结图: