JSP自定义标签声明周期

#自定义jsp标签的意义:
便捷自己的开发,能够根据自己的需求来调整标签的功能,动态的实现一些功能,提高开发效率。
JSP自定义标签声明周期
这是一个生命图,矩形代表步骤,箭头代表反向,菱形代表条件

1. 自定义标签的开发及使用步骤

1.1 创建一个标签助手类(继承BodyTagSupport)
标签属性必须与助手类的属性对应、且要提供对应get/set方法
1.2 创建标签库描述文件(tld),添加自定义标签的配置
注:tld文件必须保存到WEB-INF目录或其子目录
jstl标签库
1.3 在JSP通过taglib指令导入标签库,并通过指定后缀访问自定义标签

助手类
每个标签都要有它相应的助手类来帮助它实现功能,而助手类介绍继承了BodyTagSupport这个类的来描述这个标签实现功能的一个类。

首先我们自定义建一个z.tld文件,用来描述我们的标签
JSP自定义标签声明周期
(主要看图中注释)
建完描述标签后,在jsp界面进行引用(uri=“路径自己定义”)
JSP自定义标签声明周期
标签语言特点
<开始标签>。标签体。</结束标签>
句号代表:AfterBody
空标签: < br/> < hr/>
<开始标签 属性名=“属性值”>。标签体。</结束标签>
当我们运行到自定义标签时,会进入助手类调用对应的方法
生命周期
我们能通过自定义标签来实现功能,主要是依靠它的助手类来实现的,所以相对的自定义标签也有它相对的一套方法流程,也就是我们的生命周期。
标签的生命周期主要分为3条线:
一、由doStartTag开始,返回SKIP_BODY直接进入doEndTag方法,返回SKIP_PAGE或EVAL_PAGE结束
二、由doStartTag开始,返回EVAL_BODY_INCLUDE进入doAfterBody方法,然后返回SKIP_BODY直接进入doEndTag方法,返回SKIP_PAGE或EVAL_PAGE结束
三、由doStartTag开始,返回EVAL_BODY_INCLUDE进入doAfterBody方法,然后返回EVAL_BODY_AGAIN再次进入doAfterBody,直到条件满足,返回SKIP_BODY进入doEndTag方法,返回SKIP_PAGE或EVAL_PAGE结束
JSP自定义标签声明周期
今天就更新到这里
喜欢的可以关注我
不定时更新