聊一聊自定义标签

什么是自定义标签
目前我们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中可以引入多个标签库,前缀不能重复。
这里写图片描述
这里写图片描述
这里写图片描述
还有一个登陆表单未完待续…

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值