自定义标签参考1

作者:java_beer

1.自定义标签基础知识:

11可用性:

自定义标签可以大大降低了jsp开发的复杂度和维护量,从html角度来说,可以使它不用去过多的关注那些比较复杂的商业逻辑,通过将库开发者和使用者的合理分工,自定义标签将那些重复工作进行封装,从而提高了工程生产力,而且将具有共用特性的tag库应用于不同的项目中,体现了软件复用的思想。

 

12 什么是自定义标签:

用户定义的一种自定义的jsp标记 。当一个含有自定义标签的jsp页面被jsp引擎编译成servlet时,tag标签被转化成了对一个称为tag处理类的对象的操作。于是乎,当jsp页面被jsp引擎转化为servlet后,实际上tag标签被转化为了对tag处理类的操作。

 

13在页面中使用自定义标签:

131 声明标签库:

直接引用:

格式:<%@ taglib uri=”/WEB-INF/mytag.tld” prefix=”mt”%>

注意:标签库文件必须以.tld作为扩展名,存放在当前应用的WEN-INF目录或其子目录下,prefix用来区分不同标签库中同名标签。

 

间接引用:

格式:<%@ taglib uri=”mytaglib” prefix=”mt”%>

同时在web.xml文件名定义一个逻辑名称与tld文件的映射:

<taglib>

<taglib-uri>/mylaglib</taglib-uri>

<taglib-location>/WEB-INF/mytag.tld</taglib-location>

</taglib>

 

132 自定义标签实现

1.  tag处理类.class至于WEB-INF/classes目录下

2.  将存放tag处理类的JAR包置于当前应用的WEB-INF/lib目录下

133自定义标签类型

1. 含有bodytag

<mt:tag>

body

</my:tag>

如:

<mt:tag attr=”para”>

<%out.println(“*************”);%>

<font>body的自定义标签</font>

</mt:tag>

那么标签处理类执行完后,页面将输出body部分的内容

2. 不带bodytag

<mt:tag/>

3. 没有body和属性的tag

<mt:simple/>

4. 带属性的tag

<mt:tag attr=”string” attr=”<%=attr%>”/>

注:属性相当于自定义标签的一个参数,它影响着标签处理类的行为。

134 标签处理类

       标签处理类必须实现Tag接口或BodyTag接口,不过通常的做法是继承TagSupportBodyTagSupport类(在javax.servlet.jsp.tagext包中可以找到)

 

标签处理类要实现的方法:

标签类型

调用方法

基本标签

doStartTag,doEndTagrelease

带属性的标签

doStartTag,doEndTagreleaseset/getAttribute1…n

带内容的标签

doStartTag,doEndTagrelease

带内容的标签,内容需要重复循环

doStartTag,doAfterBodydoEndTagrelease

带内容的标签,内容与JSP交互

doStartTag,doEndTagreleasedoInitBodydoAfterBody

:标签处理类中,通过javax.servlet.jsp.PageContext获取JSP中的request,sessionApplication对象。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值