JSP标签库介绍(1)
我用JSP和ASP编程已经有一段颇长的时间了,在这两种服务器端的编程解决方案中,我越来越觉得JSP的功能要比ASP强大得多。我为什么要把JSP选作首选服务器端web应用程序开发工具呢?当然,JSP迷人的特性和功能不少,但JSP的标签库是让我做出这一决定的最重要诱因之一。 为什么这样说呢?原因有两个方面:维护和开发的速度。服务器端脚本语言其实就像是开发Internet的熔炉。在一个服务器页面上,你可以很方便地混合各种不同的脚本方法和对象。这种页面简直就是建筑Web的混凝土。正是这种“材料”的混合给予了服务器端脚本强大的信息处理能力。它可以让服务器端程序设计人员开发出动态的、灵活的Web页面。但是,另一方面,脚本的自由混合也有其缺点,那就是维护起来非常麻烦,特别是随着项目规模的不断增长而显得尤其严重。更糟糕的是,随着代码的复杂性增加,开发的速度就会变慢,不利于开发中等和大型的web应用,许多中等规模或者大型的服务器端Web应用程序很晚才得以推出而且成本也无法控制。此外,一旦开发完,站点还要找合格的编程者来维护这些颇为复杂的代码,结果让这些程序员成为了一般的Web设计人员,服务器端应用程序在最终的图形设计和实现这两方面上就弱化了。为了克服这个问题,ASP引进了COM对象技术,而JSP则提供了J2EE作为对策。这些解决方案都是建立在集中的、可重用代码库的机制之上。但是,他们使用起来可就太难了,学习所耗费的时间也很多。还有,这些解决方案并没有减少建立混乱代码的诱惑,结果,我们只能组织起大型的、内部结构良好的开发团队来使用这些技术。对于中等的项目来说,通常都较少使用这样的方法,但事实上,中等的web应用项目才是最多的。因此,许多项目都不得不使用一个不符合它们需要的开发和维护环境。幸好,JSP提供了一个解决这一问题的更好的办法。标签库(Tag libraries)提供了一个建立可重用代码块的简单方式。一旦标签库设计好,它就可以在许多项目中再次使用。更方便的是,与COM和J2EE不同,只要你懂得写JSP,你无需学习任何其它的技巧就可以建立一个标签库!最后,标签库还改进了Web应用程序的维护性。这种对维护性的改进表现在:轻易地在 JSP页面上就实现了基于XML的可定制接口。结果可想而知,Web设计人员可以建立JSP Web应用程序而无需知道JSP是怎么回事。这样一来,Web开发就成为一项非常富有效率的团队开发任务了。JSP程序员可以建立定制的标签和后端代码模块,而Web设计人员则可以使用定制标签并且全力关注于Web设计本身。标签库解决了代码混乱的问题,而且做得干净漂亮(事实上,XML才是解决这些问题的本质所在,但是标签库还是起到了相当关键的作用)。
什么是标签库?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>