`
kavy
  • 浏览: 888135 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JSP标签库解析

 
阅读更多

为什么要把JSP选作自己主要的服务器端应用程序编写工具呢?当然,JSP迷人的特性和功能不少,但JSP标签库是让我做出这一决定的最重要诱因之一。

为什么这样说呢?原因有两个:维护和开发速度。服务器端脚本语言其实就像是开发Internet的熔炉。在一个服务器页面上,你可以很方便地混合各种不同的脚本方法和对象。这种页面简直就是建筑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-->
c:/xml/example.xml
c:/xml/example.xsl

以上的示例使用了简单的标签来访问处在幕后的更强大代码。在以上的事例中首先装载了一个XML文件,然后应用了一个XSL文件来创建一个将被发送到客户端的结果??这一切不过仅仅只是用了一个很简单的标签。

定制标签使得JSP项目中很容易创建重用的开放源代码模块。而你的全部需要不过就是标签库及其文档。标签库的重要特性如下所示:

易于安装在多个项目上

标签很容易从一个JSP项目迁移到其他项目。一旦建立了一个标签库,你只需要把这个个标签库包装成一个 JAR文件就可以在其他JSP项目中重新使用了。不能重用的是你作为程序员在建立标签时所加进标签的内容。因为标签可以重新使用,所以标签库可以轻松地用于你自己的项目。目前,最好的标签资源可以在JSPTags.com这个站点找到。.

扩展JSP标签库

标签库可以具备JSP规范(JSP 1.2)中的任何特性和功能。这也意味着你拥有了无限的能力可以扩展和增加JSP的强大功能却无需等待新版本JSP的发布。所以说,你完全可以取消页面上的JSP include调用了??只需用include标签建立自己的规范就可以了。

易于维护

标签库使得JSP Web应用程序变得很容易维护。主要有以下几个原因:

标签对任何人而言都很容易使用、易于理解。

你的所有逻辑都驻留在处于中心的标签处理器和JavaBean内。这样一来,如果你不得不更新你的代码,你只需要处理这些中心文件而无需修正使用这些代码的其他页面。

如果你需要增加新的功能,你不必改变任何已经存在的页面。你可以把额外的属性包含到你的标签内从而引进新的行为同时保留以前的属性,实现旧页面的正常运行。

比方说,你可能有如下的一个标签,它让你的文本都显示蓝色:
My Text但是随着项目的进行,你又想让蓝色变暗。于是你保留自己的标签但是为其增加了一个新的属性:shade
My Text所有的老标签继续显示蓝色,但现在你可以使用同一标签来产生变暗的蓝色文本了。

标签提升了代码的重用性。那些经过多次测试和使用的代码肯定具有更少的bug。所以,使用定制标签的JSP页面也同样具有更少的缺陷,维护起来自然方便多了。

更快的开发速度

标签库是一种重用代码的好办法。我们知道,服务器端语言标准的重用代码方式是使用模版。标签库和模版库这种方式相比则好得多。采用模版库,你就需要针对每个项目修改模版或者建立生硬的接口。标签库则没有这些限制,而其所具有的面向对象特性则让标签库不仅用法灵活而且扩展能力极为强大。还有,因为你重用代码,结果在项目开发上花费的时间就大大降低了,而更多的时间则可以用来设计自己的Web应用程序。标签库的简单接口使得这些代码用法简单、易于调试。

虽然标签库用起来特别简单,但是,建立其内部支持层次可比建立简单的JavaBean复杂多了。这种复杂性的主要原因在于标签库包含了好几个部分。而你所需要掌握的技能不过是理解、熟悉Java和JSP。

定制标签内幕

一个简单的定制JSP标签包括了以下几个要素:

JavaBean:为了充分利用Java的面向对象特性,重用代码应当放置在独立的代码容器内。这些JavaBean可不是标签库的一部分。他们是标签库用来执行所分配任务的基础代码模块。

标签处理器:这是标签库的真正核心。标签处理器(tag handler)引用它所需要的任何外部材料(JavaBean)并且负责访问JSP页面的信息(PageContext对象)。而JSP页面则把页面上设置的标签属性都传递给标签处理器,JSP页面上的标签标示的内容也是这样处理的。当标签处理器完成其处理过程,它就会把处理后的输出结果回送给JSP页面做进一步处理。

标签库描述符(TLD文件):这是一种很简单的XML文件,TLD文件描述和说明了属性、信息和标签处理器文件位置等信息。JSP 容器使用这一文件来映射被调用标签库的位置和用法。

Web站点的web.xml文件:其实这就是你的Web站点上的初始化文件。在这个文件内你可以定义Web应用程序中使用的定制标签,还可以定义用来描述每个定制标签的TLD文件。

发布文件(WAR或JAR文件):如果你打算重用定制标签,那么你肯定需要想个简便的办法把标签从一个项目迁移到其他项目中去。把标签库打包成一个JAR文件就是这种既方便又高效的标签库发布方式。我们在以上的事例中没有建立JAR文件,但是如果你打算更进一步地了解JAR文件的细节,你不妨阅读“JSP WAR文件简介”。

 

转自:http://developer.51cto.com/art/200906/132293.htm

分享到:
评论

相关推荐

    jsp标签库jar

    **JSP标签库(JSP Tag Libraries)与JSTL** JSP标签库是JavaServer Pages技术的一个重要组成部分,它允许开发者使用预定义的标签来增强HTML或XML文档的可读性和可维护性。这些标签通常封装了复杂的业务逻辑或者常见...

    JSTL 标签库 jsp C 标签库

    **JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库)是Java社区为了简化JSP开发而提出的一个标准,它提供了一系列的标签来处理常见的任务,如迭代、条件判断、XML处理等,旨在减少Java代码在JSP页面中...

    JSP标准标签库

    4. **XML标签库**:用于处理XML文档的操作,如解析、遍历等。 - **URI**: `http://java.sun.com/jsp/jstl/xml` - **前缀**: `x` 5. **函数标签库**:提供了一些常用函数,如字符串处理、数组操作等。 - **URI**:...

    jsp标签库(详细)

    ### jsp标签库详解 #### 引言 JSP(JavaServer Pages)是一种服务器端的脚本技术,用于生成动态Web页面。...通过本文的深入解析,希望读者能够更好地理解和运用JSP标签库,从而在实际项目中发挥其最大效能。

    JSP标准标签库实例

    【JSP标准标签库实例】 JSP标准标签库(JSTL,JspServer Pages Standdard Tag Library)是由Sun Microsystems公司开发的一种用于简化JSP页面开发的组件。它的核心理念是通过提供预定义的标签集合,使得开发者可以...

    jsp标准标签库

    2. **XML标签库**:提供处理XML文档的标签,如解析XML、XSLT转换等。 3. **国际化(I18N)标签库**:支持多语言环境,如资源包(Resource Bundle)的管理和日期/时间格式化。 4. **SQL标签库**:用于与关系型...

    JSP标签库

    【JSP标签库详解】 JSP(JavaServer Pages)是一种基于Java技术的动态网页开发工具,它允许开发者在HTML代码中嵌入Java代码,以实现动态网页的生成。JSP标签库是JSP技术的一个重要组成部分,极大地提升了开发效率和...

    jsp自定义标签库实现数据列表显示

    `web.xml` 是应用的部署描述符,其中可能包含了对自定义标签库的注册,确保在服务器启动时能正确加载和解析TLD文件。通过`&lt;jsp-config&gt;`元素下的`taglib`子元素,可以指定TLD文件的位置和标签库的URI。 `QQ截图...

    JSP标签库,ppt

    【JSP标签库】是JavaServer Pages (JSP) 技术中的一种重要特性,它允许开发者创建可重用的自定义标签,从而简化页面逻辑的编写。标签库的概念是基于XML脚本,通过JavaBeans组件支持。这些标签库不仅提高了代码的...

    jsp标准标签库的使用

    JSP标准标签库(JSTL)是JavaServer Pages Standard Tag Library的缩写,它是Java EE标准的一部分,用于简化JSP页面中的代码,提高可读性和维护性。JSTL提供了一系列预定义的标签,这些标签覆盖了常见任务,如控制流...

    Jsp标签库帮助文档

    【Jsp标签库帮助文档】深入解析 JavaWeb技术中的Jsp标签库是开发者们进行高效页面构建的重要工具。JSTL(JavaServer Pages Standard Tag Library)作为一套标准的标签库,旨在统一并简化JSP页面中的编程逻辑,提高...

    jsp标签库简介

    **JSP标签库简介** JSP(JavaServer Pages)是一种基于Java的技术,用于创建动态网页。为了简化JSP页面的编写,Sun公司推出了JSP标准标签库(JSTL),这是一个标准化的标签库,旨在提高开发效率,降低代码的复杂性...

    JSTL(jsp标准标签库)

    ### JSTL(JSP标准标签库):增强JSP页面功能的关键技术 JSTL,全称为JSP Standard ...通过上述知识点的解析,我们可以看到JSTL标签库极大地提升了JSP页面的开发效率和可维护性,是Java Web开发中不可或缺的一部分。

    jsp的标准标签库的jar包

    2. **XML标签库(XML Tags)**:这个库提供了处理XML文档的标签,如`&lt;x:parse&gt;`用于解析XML内容,`&lt;x:out&gt;`用于显示XML数据,`&lt;x:transform&gt;`用于XSLT转换。 3. **SQL标签库(SQL Tags)**:允许在JSP页面中执行...

    Google地图JSP标签库.7z

    Google地图JSP标签库是专为Java Server Pages (JSP) 设计的一个便捷工具,旨在简化在JSP页面中操作和展示Google地图的过程。这个7z压缩包文件包含了实现这一功能所需的资源和文档。 JSP(Java Server Pages)是Java...

    基于Java的Google地图JSP标签库.zip

    在Java开发中,Google地图JSP标签库是一个非常实用的工具,它允许开发者在JSP页面上方便地集成和操作Google Maps API。这个压缩包"基于Java的Google地图JSP标签库.zip"包含了实现这一功能所需的各类文件和资源。下面...

    JSTL(JSP标准标签库)介绍.doc

    JSTL,全称JavaServer Pages Standard Tag Library,是JSP的一种标准标签库,旨在简化JSP页面的开发,提高代码的可读性和可维护性。JSTL由Apache Jakarta组织维护,它提供了多种功能标签,包括核心标签、XML处理标签...

    jstl一个开源的JSP标签库

    JSTL,全称为JavaServer Pages Standard Tag Library,是一个开源的JSP标签库,由Apache软件基金会的Jakarta项目开发。这个库提供了一系列预定义的标签,用于简化JSP页面中的业务逻辑处理,使代码更加简洁、可读性强...

    JSP之JSP标签库详解

    JavaServer Pages(JSP)标准标签库(JSTL)是为JSP应用程序提供的一组预定义标签,旨在简化和标准化开发过程。JSTL封装了常见的核心功能,避免了在不同厂商的JSP容器中使用不同的迭代器标签,提高了代码的可移植性...

    jsp标签解析与示例

    **JSP标签解析与示例** JSP(JavaServer Pages)是Java平台上的动态网页技术,它允许开发者在HTML或XML文档中嵌入Java代码,从而实现动态网页的创建。在JSP中,标签(Tag)是用于封装可重用功能的组件,它们可以...

Global site tag (gtag.js) - Google Analytics