日期:2014-05-16  浏览次数:20348 次

Java程序员从笨鸟到菜鸟之(二十)jsp自定义标签

?

一、基本概念

1、标签(Tag)

标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本。由于标签是XML元素,所以它的名称和属性都是大小写敏感的。

2、标签库(Tag?library)

由一系列功能相似、逻辑上互相联系的标签构成的集合称为标签库。

3、标签库描述文件(Tag?Library?Descriptor)

标签库描述文件是一个XML文件,这个文件提供了标签库中类和JSP中对标签引用的映射关系。它是一个配置文件,和web.xml是类似的。

4、标签处理类(Tag?Handle?Class)

标签处理类是一个Java类,这个类继承了TagSupport或者扩展了SimpleTag接口,通过这个类可以实现自定义JSP标签的具体功能。

二、自定义JSP标签的格式

1、为了使到JSP容器能够使用标签库中的自定义行为,必须满足以下两个条件:

<%?@?taglib?prefix=”someprefix” uri=”/sometaglib”?%>

1)从一个指定的标签库中识别出代表这种自定义行为的标签;
2)找到实现这些自定义行为的具体类。

第一个必需条件-找出一个自定义行为属于那个标签库-是由标签指令的前缀(Taglib?Directive's?Prefix)属性完成,所以在同一个页面中使用相同前缀的元素都属于这个标签库。每个标签库都定义了一个默认的前缀,用在标签库的文档中或者页面中插入自定义标签。所以,你可以使用除了诸如jsp,jspx,java,servlet,sun,sunw(它们都是在JSP白皮书中指定的保留字)之类的前缀。? 

uri属性满足了以上的第二个要求。为每个自定义行为找到对应的类。这个uri包含了一个字符串,容器用它来定位TLD文件。在TLD文件中可以找到标签库中所