自定义标签RequestContextAwareTag

本文详细介绍了如何在Spring框架下自定义标签类,通过继承RequestContextAwareTag来处理代理请求上下文,包括配置tld文件、在web.xml中加载配置以及在前端使用自定义标签的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自定义标签类供前台处理使用,由于是Spring框架,自定义标签时采用继承自RequestContextAwareTag类。

RequestContextAwareTag类的类关系如下图:



 该类继承自TagSupport,而TagSupport来自javax.servlet.jsp.tagext.TagSupport。

 

1、首先,开发一个标签类,在该标签类中实现该标签的功能。

由于自定义的标签类需要继承RequestContextAwareTag类,故在实现标签功能时需要重写父类中的方法。

RequestContextAwareTag有几个比较重要的方法:

     doStartTag():doStartTag()方法是遇到标签开始时会执行的方法。

 doEndTag()方法是在遇到标签结束时呼叫的方法

     doStartTagInternal:与doStartTag方法相同,Called by doStartTag to perform the actual work.

基于以上,在自定义标签类中,需定义属性变量,重写了doStartTagInternal()方法,

定义的属性变量,即为标签使用时的属性,重写的方法即根据标签属性值,实现标签功能。

如下图:



 

 2、配置tld文件,在引用标签时使用。



 指定了标签名称,标签实现类,标签属性及该标签是否为必须。

 3、在web.xml中加载该配置文件

  • <taglib>  
  •         <taglib-uri>http://www.chrhc.com/customTag</taglib-uri>  
  •         <taglib-location>/WEB-INF/tld/chrhc.tld(你自己的tld文档路径)</taglib-location>  

对于<taglib-uri>的属性,应与配置文件中的<uri>属性一致。

 或者直接在页面引入:

<%@ taglib uri="/WEB-INF/tld/chrhc.tld" prefix="chr" %> 

对于tld配置文件的说明:

<tlib-version>1.0</tlib-version>

<jsp-version>1.2</jsp-version>

<short-name>chr</short-name>

<uri>http://www.chrhc.com/customTag</uri>

<display-name>Custom Tag Example</display-name>

<description>Custom tag examples</description>

 

在自定义标签头部,需有如上的相关配置,其中,<short-name>为标签的简写,在引用标签时则可以以如下方式引用 <chr:ProcessKeyValue>。

 

如此,则可在前台使用自己定义的标签了。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值