java tags定义,javaweb自定义标签

为什么使用自定义标签

减少在jsp写java代码。简言之,就是简化jsp。

如何创建自定义标签

1、方式一 :实现接口方式 SimpleTag

2、方式二 :通过继承类  SimpleTagSupport

开发步骤:

1、实现SimpleTag或者继承SimpleSupportTag

2、实现或者重写方法

3、在WEB-INF下面新建一个xx.tld文件用来描述标签

4、在jsp引入

实现接口方式 SimpleTag

895006c12dd1

如上图,实现接口方式 SimpleTag需要实现下面这五个方法

1、setJspContext()

设置(获取)上下文

2、setJspBody()

获取标签体

3、setParent()

设置父标签

4、getParent()

获取父标签

5、doTag()

在这个方法里面操作我们想要实现功能的相关逻辑

二、在WEB-INF目录下新建一个test.tld文件,内容如下

895006c12dd1

三、在jsp引入,如图

895006c12dd1

接下来修改IPTag1.java代码,如下图

895006c12dd1

将项目部署到tomcat,运行,在浏览器输入http://localhost:8080/Day22/test.jsp,浏览器出现如下图:

895006c12dd1

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

通过继承类 SimpleTagSupport

基本和上面的操作一样,只不过要重写相关的方法

如doTag(),废话不多说,直接截图:

895006c12dd1

正如你所见,SimpleTagSupport已经帮我们做好了相关事情,我们只需在doTag做相关的操作就可以了。

895006c12dd1

895006c12dd1

895006c12dd1

895006c12dd1

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

895006c12dd1

在test.tld中,body-content中有以下几个值:

body-contetn: 用来描述标签体的信息

empty          没有标签体

tagdependent  将内容原封不动交给标签处理

scriptless    标签体的内容可以是文本、el、其他标签【不要用jsp的脚本】

JSP            jsp脚本,el...

一般开发中我们选择scriptless就可以了。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

使用场景:

|--直接输出内容

|--控制输出还是不输出

|--控制是否要执行标签体后的内容

|--处理标签体的内容

|--根据标签的属性处理不同业务逻辑(比如:控制循环次数)

标签案例

|--获取客户端的ip

|--验证simgTag执行顺序()

|--输出内容

|--跳过标签体之后的内容  SkipPageException

|--处理标签体内容

|--循环

|--循环(通过属性控制次数)

|--防盗链标签

|--模仿

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值