JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。在 developerworks 上其新系列的第一篇文章中,软件工程师 Mark Kolb 向您展示了如何使用 JSTL 标记来避免在 JSP 页面中使用脚本编制元素。您还将了解如何通过从表示层删除源代码来简化软件维护。最后,您将了解 JSTL 经过简化的表达式语言,它允许在不必使用功能齐全的编程语言的情况下对 JSTL 操作指定动态属性值。
JavaServer Pages(JSP)是用于 J2EE 平台的标准表示层技术。JSP 技术提供了用于执行计算(这些计算用来动态地生成页面内容)的脚本编制元素和操作。脚本编制元素允许在 JSP 页面中包括程序源代码,在为响应用户请求而呈现页面时可以执行这些源代码。操作将计算操作封装到很象 HTML 或 XML 标记的标记中,JSP 页面的模板文本通常包含这些标记。JSP 规范只将几种操作定义成了标准,但从 JSP 1.1 开始,开发人员已经能够以定制标记库的方式创建其自己的操作了。
JSP 标准标记库(JSTL)是 JSP 1.2 定制标记库集,这些标记库实现大量服务器端 Java 应用程序常用的基本功能。通过为典型表示层任务(如数据格式化和迭代或条件内容)提供标准实现,JSTL 使 JSP 作者可以专注于特定于应用程序的开发需求,而不是为这些通用操作“另起炉灶”。
当然,您可以使用 JSP 脚本编制元素(scriptlet、表达式和声明)来实现此类任务。例如,可以使用三个 scriptlet 实现条件内容,清单 1 中着重显示了这三个 scriptlet。但是,因为脚本编制元素依赖于在页面中嵌入程序源代码(通常是 Java 代码),所以对于使用这些脚本编制元素的 JSP 页面,其软件维护任务的复杂度大大增加了。例如,清单 1 中的 scriptlet 示例严格地依赖于花括号的正确匹配。如果不经意间引入了一个语法错误,则条件内容中的嵌套其它 scriptlet 可能会造成严重破坏,并且在 JSP 容器编译该页面时,要使所产生的错误信息有意义可能会很困难。
清单 1. 通过 scriptlet 实现条件内容
<% if (user.getRole() == "member")) { %>
<p>Welcome, member!</p>
<% } else { %>
<p>Welcome, guest!</p>
<% } %>
修正此类问题通常需要相当丰富的编程经验。尽管通常会由十分精通页面布局和图形设计的设计人员来开发和维护 JSP,但是同一页面中的脚本编制元素出现问题时,需要程序员的介入。这种状况将单个文件中代码的责任分担给多人,因而使得开发、调试和增强此类 JSP 页面成为很麻烦的任务。通过将常用功能包装到定制标记库的标准集合中,JSTL 使 JSP 作者可以减少对编制脚本元素的需求,甚至可以不需要它们,并避免了相关的维护成本。
回页首
JSTL 1.0
JSTL 1.0 发布于 2002 年 6 月,由四个定制标记库(core、format、xml 和 sql)和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)组成。core 标记库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。它还提供了用来生成和操作 URL 的标记。顾名思义,format 标记库定义了用来格式化数据(尤其是数字和日期)的操作。它还支持使用本地化资源束进行 JSP 页面的国际化。xml 库包含一些标记,这些标记用来操作通过 XML 表示的数据,而 sql 库定义了用来查询关系数据库的操作。
两个 JSTL 标记库验证器允许开发人员在其 JSP 应用程序中强制使用编码标准。可以配置 ScriptFreeTLV 验证器以在 JSP 页面中禁用各种类型的 JSP 脚本元素 ― scriptlet、表达式和声明。类似地,PermittedTaglibsTLV 验证器可以用来限制可能由应用程序的 JSP 页面访问的定制标记库集(包括 JSTL 标记库)。
尽管 JSTL 最终将会成为 J2EE 平台的必需组件,但目前只有少数应用程序服务器包括它。JSTL 1.0 的参考实现可作为 Apache 软件基金会(Apache Software Foundation)的 Jakarta Taglibs 项目(请参阅参考资料)的一部分而获得。可以将该参考实现中的定制标记库合并到任何支持 JSP 1.2 和 Servlet 2.3 规范的服务器,以添加对 JSTL 的支持。
分享到:
相关推荐
jstl标准标签库的三个jar包:jstl-1.2、jstl-api-1.2、jstl-impl-1.2。 jstl标准标签库的三个jar包:jstl-1.2、jstl-api-1.2、jstl-impl-1.2。 jstl标准标签库的三个jar包:jstl-1.2、jstl-api-1.2、jstl-impl-1.2...
**JSTL(JavaServer Pages Standard Tag Library)**是Java服务器页面的一个标准标签库,它提供了丰富的功能,使得在JSP中处理数据、控制流程变得更加简洁和高效。JSTL主要由几个不同的标签库组成,包括核心标签库、...
JSTL(JSP Standard Tag Library)是Java服务器页面(JSP)的一种标准标签库,旨在简化JSP页面中的编程,提高代码的可读性和可维护性。它提供了丰富的标签来处理常见的页面逻辑,比如输出、条件判断、循环等,避免了...
CHM格式的JSTL标准标签库APICHM格式的JSTL标准标签库APICHM格式的JSTL标准标签库API
从JSP 1.1规范开始JSP就支持使用自定义标签,使用自定义标签大大降低了JSP页面的复杂度,同时增强了代码的重用性,因此自定义标签在WEB应用中被广泛使用。许多WEB应用厂商都开发出了自己的一套标签库提供给用户使用...
在探讨“EL表达式及JSTL标准标签”的过程中,我们深入分析了这些技术在Java Server Pages(JSP)中的应用及其对Web开发的影响。以下是对该主题的详细阐述: ### 1. EL表达式(Expression Language) EL表达式是...
"JSTL标准标签库帮助文档chm"是一个压缩包内的资源,它通常包含了关于JSTL库的详细说明、API参考、示例以及使用指南。CHM文件是一种Microsoft编写的帮助文件格式,便于用户快速查询和学习JSTL的各个标签及其用法。...
### JSTL标准标签库的应用 #### 一、JSTL简介 JSTL(JavaServer Pages Standard Tag Library)是一个开放源代码的JSP标签库,由Apache的Jakarta项目组进行维护。JSTL的设计目标是简化Web应用程序的开发过程,通过...
### JSTL标准标签库详解及使用指南 #### 一、引言 JSTL(JavaServer Pages Standard Tag Library,JavaServer 页面标准标签库)是一种用于简化JavaServer Pages (JSP) 页面开发的标准标签库。它由Apache Jakarta...
这个压缩包文件"jstl标准标签库.zip"包含了用于使用JSTL的必要组件,主要为`jstl-1.2`版本,特别是`standard`目录下的`jstl.jar`文件。 JSTL由以下几个核心部分组成: 1. **Core标签库**:这是JSTL中最基础的部分...
### JSTL(JSP标准标签库):增强JSP页面功能的关键技术 JSTL,全称为JSP Standard Tag Library(JSP标准标签库),是JavaServer Pages(JSP)技术的重要补充,旨在简化JSP页面的开发,提供了一系列预定义的、可...
第14章 JSTL标准标签库,jsp基础知识
JavaServer Pages Standard Tag Library (JSTL) 是一套标准的标签库,用于简化JSP开发。JSTL允许开发者使用预定义的标签来处理常见任务,如迭代、条件判断、XML处理等。本文将深入讲解如何创建并使用JSTL自定义标签...
**JSTL 2.0 标准标签详解** JavaServer Pages Standard Tag Library(JSTL)是Java EE中用于简化JSP开发的一组标准标签库。JSTL 2.0作为其一个重要版本,提供了丰富的功能,帮助开发者在不使用自定义脚本语言的情况...
**JSTL(JavaServer Pages Standard Tag Library)**是Java Web开发中的一种标准标签库,它为JavaServer Pages(JSP)提供了一种方便、高效的方式来处理常见的网页任务,如迭代、条件判断、XML处理等,从而替代了...
JSTL(JavaServer Pages Standard Tag Library,JavaServer Pages 标准标签库)是Java Web开发中常用的一个库,它提供了一系列预定义的标签,用于简化JSP页面中的逻辑代码,使得页面更加清晰易读。在给定的压缩包...