自定义标签库的使用

 

taglib被称为自定义标签库
用自定义标签库,可以在简单的标签中封装复杂的功能,实现自定义标签按如下步骤进行:

1、开发自定义标签类
为了能让美工人员更好地参与JSP 页面的开发,所以使用标签类,可以使用简单的标签来封装复杂的功能,从而使团队更好地协作开发。
自定义标签类都必须继承一个父类: java.Servlet.jsp.tagext.TagSupport,并且还有以下要求:
1)、如果标签类包含属性,每个属性都有对应的getter 和setter 方法。
2)、重写doStartTag()或doEndTag()方法,这两个方法生成页面内容。
3)、如果需要在销毁标签之前完成资源回收,则重写release()方法。

2、第二种是建立TLD 文件
TLD 是Tag Library Definition 的缩写,即标签库定义,文件的后缀是tld ,每个TLD文件对应一个标签库,一个标签库中可包含多个标签。TLD 文件也称为标签库定义文件。标签库定义文件的根元素是taglib,它可以有多个tag 子元素,每个tag 子元素都对应一个标签。

3、在web.xml 文件中增加标签库定义
编辑了标签库定义文件还不够, Web 容器还无法加载标签库定义文件。还必须在web.xml 文件中增加标签库的定义。在web.xml 文件中定义标签库时使用taglib 元素,该元素包含两个子元素: taglib-uri和taglib-location,前者确定标签库的URI; 后者确定标签库定义文件的位置。

如下格式:web.xml 文件中关于test.tld(把这个作为测试的标签库名)标签库的定义片段:
 <!--定义标签库-->
 <taglib>
 <!--确定标签库的URI-->
 <taglib-uri>/WEB-INF/tlds/tldtest.tld</taglib-uri>
 <!--确定标签库定义文件的位置-->
 <taglib-location>/WEB-INF/tlds/tldtest.tld</taglib-location>
 </taglib>
如果需要使用多个标签库,只需要增加多个taglib 元素即可,因为每个taglib 元素可对应一个标签库。

4、使用标签库
使用标签库分成以下两步:
(1)导入标签库:使用taglib 编译指令导入标签。
(2) 使用标签:在JSP 页面中使用自定义标签。
taglib指令的语法格式如下:
<%@ taglib uri= "tagliburi" prefix="tagPrefix" %>
其中uri 属性确定标签库定义文件的URI,这个URI 就是在web.xml 文件中为标签库定义的URI。而prefix 属性确定的是标签前缀,即在JSP 页面中使用标签时,该标签库负责处理的标签前缀。
使用标签的语法格式如下:
<tagPrefix:tagName tagAttribute="tagValue" ...>
<tagBody/>
</tagPrefix>

 

posted @ 2011-12-07 22:08  birlt  阅读(304)  评论(0编辑  收藏  举报