java自定义jsp标签_自定义JSP标签入门

1、编写一个实现Tag接口的java类

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

packageTagDemo;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.jsp.JspException;importjavax.servlet.jsp.JspWriter;importjavax.servlet.jsp.PageContext;importjavax.servlet.jsp.tagext.Tag;importjava.io.IOException;public class ViewIPTag implementsTag {privatePageContext pageContext;

@Overridepublic voidsetPageContext(PageContext pageContext) {this.pageContext =pageContext;

}

@Overridepublic voidsetParent(Tag tag) {

}

@OverridepublicTag getParent() {return null;

}

@Overridepublic int doStartTag() throwsJspException {

System.out.println("调用doStartTag方法");

HttpServletRequest request=(HttpServletRequest) pageContext.getRequest();

JspWriter writer=pageContext.getOut();

String ip=request.getRemoteAddr();try{

writer.write(ip);

}catch(IOException e) {

e.printStackTrace();

}return 0;

}

@Overridepublic int doEndTag() throwsJspException {

System.out.println("调用doEndTag方法");return 0;

}

@Overridepublic voidrelease() {

System.out.println("调用release方法");

}

}

ViewIPTag

2、编写tld标签库文件,tld文件必须放在WEB-INF文件夹或其子文件夹下,此文件是用来对标签处理器类进行描述

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

自定义标签

1.0

SDT

/sefDefineTag

输出客户端地址

viewIPTag

TagDemo.ViewIPTag

empty

tld

taglib标签库标签简述

description:对标签库描述信息

tlib-version:标签库版本

short-name:标签库名称

uri:标签库唯一标识,jsp就是通过uri引用标签的,uri必须以/开头,后面随便写,只要名称唯一;如下面引用

tag:taglib标签库中可以包含多个自定义标签,每个tag对应一个自定义标签

description:对当前标签的描述

name:定义一个名称,Jsp中通过这个名称引用标签处理器类

tag-class:对应的标签处理器类

body-content:定义标签体操作方式,如empty,规定标签体内不能有内容,如有则抛异常;如JSP,则允许标签体内有内容;下一节结合标签控制器类方法返回值再介绍

3、在Jsp文件中测试

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

Jsp

Jsp中就可以引入标签库,使用prefix可以设置标签库别名,标签使用方式就是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值