码迷,mamicode.com
首页 > Web开发 > 详细

JSP自定义标签

时间:2016-02-24 19:10:23      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

自定义标签的本质是:使用简单的标签来替代复杂的逻辑,简化JSP,提高代码复用.

 

自定义标签的几个常用场景:翻页,菜单,页头,页脚,加密等等

 

一,基本概念

1,标签:是一种xml元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便的实现同一个JSP文件支持多语言版本,标签遵守XML标准规范,大小写敏感.

2,标签库:由一系列功能相似,逻辑上互相联系的标签构成的集合称为标签库.

3,标签库描述文件TLD(放在WEB-INF下):标签库描述文件是一个XML文件,这个文件提供了标签库中的类和JSP中对标签引用的映射关系,它是一个配置文件.

4,标签处理类:标签处理类是一个Java类,这个类集成了TagSupport或者扩展了SimpleTag接口,通过这个类可以实现自定义标签的具体功能.

二,自定义标签的引入和加载

1,为了使得JSP容器能够使用标签库中的自定义行为需满足两个条件:

  (1),从一个指定的标签中识别出代表这种自定义行为的标签.

  (2),找到实现这些自定义行为的具体类.

如下:

技术分享

2,调用过程:容器启动,搜索tld文件,创建映射关系

 

三,自定义JSP标签的使用和调用过程.

1,在JSP中引入标签库.

2,在JSP中使用标签库标签.

3,Web容器根据2步骤中的prefix属性获得1步骤中声明的taglib的uri属性值.

4,Web容器根据uri属性在web.xml找到对应的元素.

5,从元素中获得对应的元素的值.

6,Web容器根据元素的值从WEB-INF/目录下找到对应的.tld文件.

7,从.tld文件中找到与tagname对应的元素.

8,从元素中获得对应的元素的值.

9,Web容器根据元素的值创建相应的tag handle class(标签处理类)的实例

10,Web容器调用这个市里的doStartTag/doEndTag方法完成相应的处理.

 

四,创建标签的步骤

1,创建标签的处理类.

2,创建标签库描述文件

3,在web.xml文件中配置元素

4,在JSP文件中引入标签库

5,使用标签

 

五,相关类

技术分享

其中,TagSupport功能多,最常用.

BodyTagSupport可获得Tag标签体中的内容.

SimpleTagSupport只用实现doTag()方法,2.0版本新增,简化对象获取,使用简单,但是功能少.

 

TagSupport中的方法调用顺序:1,setPageContext,setParent 2,doStartTag,doEndTag,doAfterBody

 

六,用户自定义的标签属性

  如果在标签中还包含了自定义的属性,那么在标签处理类中应该将这个属性作为成员变量,并且分别提供设置和读取的方法.

 

七,创建标签库描述文件(Tag Library Descriptor)

1,标签库描述文件,简称TLD,采用Xml文件格式,定义了用户的标签库.

TLD文件中的元素分成了三类:

A.标签库元素  

常用属性(小写)

  (1),tlibbersion:标签库版本号(1.0)

  (2),jspversion:JSP版本号

  (3),shortname:标签库默认前缀名

  (4),uri:设定Tag Library的唯一访问标识符

B.标签元素 

常用属性(小写)

  (1),name:设定Tag的名字

  (2),tagclass:设定Tag的处理类

 

                                                       |---tagdependent:不被JSP容器解析)

  (3),bodycontent:设定标签体内的内容形式---|---Jsp:不放文本,只能放JSP语句

                                                 |---empty:不能写东西

                                                       |---scriptless:只接受文本,EL表达式,JSP语句

C.标签属性元素(attribute)

常用属性(小写)

  (1),name:属性名称

  (2),required:属性是否必须的,默认为false

  (3),rtexprvalue:属性值是否可以为request-time表达式(也就是类似于<%=...............%>的表达式)

 

八,几个名词概念

1,DTD:描述xml文件中元素的规范,相当于格式规定,约束了XML的形式.

2,TLD:JSP标签的配置文件,描述了XML中某元素与实际类的对应关系和其他信息.

JSP自定义标签

标签:

原文地址:http://www.cnblogs.com/qinggege/p/5213811.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!