jsp标签1
1. 标签语言特点
自定义jsp标签的意义;便捷自己的开发,能够根据自己的需求来调整标签的功能,动态的实现一些功能,提高开发效率。
<开始标签 属性=“属性值”>标签体</结束标签>
空标签
<br/><hr/>
<开始标签></结束标签>
<开始标签/>
ui标签
控制标签
数据标签
自定义jsp标签介绍
- 自定义标签的开发及使用步骤
1.1 创建一个标签助手类(继承BodyTagSupport)
标签属性必须与助手类的属性对应、且要提供对应get/set方法
1.2 创建标签库描述文件(tld),添加自定义标签的配置
注:tld文件必须保存到WEB-INF目录或其子目录
jstl标签库
助手类
每个标签都要有它相应的助手类来帮助它实现功能,而助手类介绍继承了BodyTagSupport这个类的来描述这个标签实现功能的一个类。
在助手类的周期中,主要有3个方法来支撑它实行。
1、doStartTag() 执行到开始标签时执行的动作
-----2个返回值
SKIP_BODY 跳过主体内容
EVAL_BODY_INCLUDE 计算页面主体内同并包含再输出
2、doAfterBody() 介于<c:test>内容</c:test>之间执行的动作
-----2个返回值
EVAL_BODY_AGAIN 再次计算主体内容并输出
SKIP_BODY 跳过主体内容
3、doEndTag() 执行到结束标签时执行的动作
-----2个返回值
SKIP_PAGE 跳过页面的后续内容
EVAL_PAGE 计算页面的后续内容
生命周期
我们能通过自定义标签来实现功能,主要是依靠它的助手类来实现的,
所以相对的自定义标签也有它相对的一套方法流程,也就是我们的生命周期。
标签的生命周期主要分为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结束
自定义标签案例
1 创建一个标签助手类(继承BodyTagSupport)
标签属性必须助手类的属性对应、且要提供对应get/set方法
注意:tld文件必须保存到WEB-INF目录或其子目录
创建标签库描述文件(tld),添加自定义标签的配置
注:tld文件必须保存到WEB-INF目录或其子目录
在JSP通过taglib指令导入标签库,并通过指定后缀
访问自定义标签