JSP标签库(也被称作定制标签)是一种通过JavaBean生成基于XML的脚本的方法。从概念上将,标签就是很简单而且可重用的代码结构。比方说,在我们最新发布的JSPKit(在JSP Insider内)中,我们就使用XML标签实现了对XML文档的轻松访问。请看以下的清单A。
清单A:执行XML/XSL 转换的示例标签及其所在的HTML页面
<%@ taglib uri="http://www.jspinsider.com/jspkit/JAXP" prefix="JAXP"%>
<JAXP:TransformerTag>
<JAXP:XMLFile>c:/xml/example.xml</JAXP:XMLFile>
<JAXP:XSLFile>c:/xml/example.xsl</JAXP:XSLFile>
</JAXP:TransformerTag>
以上的示例使用了简单的标签来访问处在幕后的更强大代码。在以上的事例中首先装载了一个XML文件,然后应用了一个XSL文件来创建一个将被发送到客户端的结果——这一切不过仅仅只是用了一个很简单的标签。
定制标签使得JSP项目中很容易创建重用的开放源代码模块。而你的全部需要不过就是标签库及其文档。标签库的重要特性如下所示:
易于安装在多个项目上
标签很容易从一个JSP项目迁移到其他项目。一旦建立了一个标签库,你只需要把这个个标签库包装成一个JAR文件就可以在其他JSP项目中重新使用了。不能重用的是你作为程序员在建立标签时所加进标签的内容。因为标签可以重新使用,所以标签库可以轻松地用于你自己的项目。目前,最好的标签资源可以在JSPTags.com这个站点找到。.
扩展JSP
标签库可以具备JSP规范(JSP 1.2)中的任何特性和功能。这也意味着你拥有了无限的能力可以扩展和增加JSP的强大功能却无需等待新版本JSP的发布。所以说,你完全可以取消页面上的JSP include调用了——只需用include标签建立自己的规范就可以了。
易于维护
标签库使得JSP Web应用程序变得很容易维护。主要有以下几个原因:
标签对任何人而言都很容易使用、易于理解。
你的所有逻辑都驻留在处于中心的标签处理器和JavaBean内。这样一来,如果你不得不更新你的代码,你只需要处理这些中心文件而无需修正使用这些代码的其他页面。
如果你需要增加新的功能,你不必改变任何已经存在的页面。你可以把额外的属性包含到你的标签内从而引进新的行为同时保留以前的属性,实现旧页面的正常运行。
比方说,你可能有如下的一个标签,它让你的文本都显示蓝色:
<BlueText>My Text</BlueText>
但是随着项目的进行,你又想让蓝色变暗。于是你保留自己的标签但是为其增加了一个新的属性:shade
<BlueText shade="teal">My Text</BlueText>
所有的老标签继续显示蓝色,但现在你可以使用同一标签来产生变暗的蓝色文本了。
标签提升了代码的重用性。那些经过多次测试和使用的代码肯定具有更少的bug。所以,使用定制标签的JSP页面也同样具有更少的缺陷,维护起来自然方便多了。
更快的开发速度
标签库是一种重用代码的好办法。我们知道,服务器端语言标准的重用代码方式是使用模版。标签库和模版库这种方式相比则好得多。采用模版库,你就需要针对每个项目修改模版或者建立生硬的接口。标签库则没有这些限制,而其所具有的面向对象特性则让标签库不仅用法灵活而且扩展能力极为强大。还有,因为你重用代码,结果在项目开发上花费的时间就大大降低了,而更多的时间则可以用来设计自己的Web应用程序。标签库的简单接口使得这些代码用法简单、易于调试。
虽然标签库用起来特别简单,但是,建立其内部支持层次可比建立简单的JavaBean复杂多了。这种复杂性的主要原因在于标签库包含了好几个部分。而你所需要掌握的技能不过是理解、熟悉Java和JSP。