聊一聊自定义标签
来源:互联网 发布:c语言中putchar(10) 编辑:程序博客网 时间:2024/06/09 15:06
什么是自定义标签
目前我们jsp使用的标签都是HTML的标签,浏览器会解释运行
自定义标签,就是根据需求,自己定义的标签,定义标签的名字、属性、作用等。
为什么要自定义标签
jsp文件中,往往需要实现类似的功能,编写很多类似的java代码
自定义标签,可以把这些java代码的代码定义成标签,而不必重复写java代码,能够使得jsp文件结构简练,可读性强
自定义标签由两部分组成
*.tld: 是一个xml文件,用来定义标签名字、属性、标签处理类、便签体等。
*.class文件:每一个标签,都对应一个标签处理器类,这个类遵循一定的规范,即需要继承或实现API中的特定类或接口,覆盖其中的方法
可见:自定义标签的功能依然还是用java类实现的。不过是java代码不再写在jsp中,而是用java类实现,使用标签调用,以达到复用性。
步骤一:创建 tld文件
自定义标签:首先在一个 tld文件中描述标签。Tld文件存在web-inf下
在web-inf下创建taglib.tld文件
tld文件解析
uri:是这个tld文件的唯一标记,可以自定义,不一定是真实存在的url。使用自定义标记时将根据该值寻找tld文件
tag:tld文件中将定义多个tag元素,描述多个标签
name:标签的名字
tag-class:实现该标签功能的类,是之后主要的工作
attribute:标签的属性,可以定义多个
name 属性名字
required 属性是否为必须
rtexprvalue属性是否能使用运行期表达式传值,true表示必须。
步骤二 创建标签处理类
标签处理类必须继承或实现API中的类
使用继承TagSupport类实现。覆盖其中的doStartTag方法。
标签处理类首先必须声明与tld文件中对tag定义的属性对应的的属性变量。例如本类中的处理器类必须声明attr,并提供setxxx方法,容器在运行时将自动调用setxxx方法赋值。
分析标签处理器类
pageContext:标签处理器类中可以直接使用pageContext,因为父类TagSupport中定义了名字pageContext的变量,类型是pageContext。
因此,可以直接使用pageContext还有request、response、session。
使用自定义标签 引入标签库
要使用自定义标签,首先必须引入标签库,使用taglib指令
在index.jsp中使用自定义标签,因此在index.jsp中引入标签库
<%@taglib uri=”http://www.xahlwl.com/taglib”prefix=”hl”%>
uri是在tld文件中定义的唯一标记,prefix是前缀。可以自定义,在一个jsp中可以引入多个标签库,前缀不能重复。
还有一个登陆表单未完待续…
- 聊一聊自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- Java内部类_成员内部类_静态
- LeetCode刷题(C++)——Integer to Roman(Medium)
- 医院建立客户服务中心的必然性
- yii gridview 关联查询
- MySQL
- 聊一聊自定义标签
- SpringMVC jsp前台获取参数的方式 EL表达式
- 离散对数学习:baby_step_giant_step与ex_baby_step_giant_step算法
- css重置
- redis常用命令
- bootstrap 模态框抖动问题解决
- Javascript定时器调用有形参的方法
- C语言学习历程——编程练习2——10
- 装饰模式