JSTL(Java server pages standarded tag library,即 JAP 标准标签库)是由 JCP(Java community Proces)所制定的标准规范,它主要提供给 Java Web 开发人员一个标准统一的标签库,并由 Apache 的 Jajarta 小组来维护。开发人员可以利用这些标签取代 JSP 页面上的 Java 代码,从而提高程序的可读性,降低程序的维护难度。
简介
JSTL 的英文全称是 JavaServer Pages Standard Tag Library,中文全称是 JSP 标准标识库。JSTL 技术标准是由 JCP(Java Community Process)组织的 JSR052 专家组发布,Apache 组织将其列入 Jakarta 项目,Sun 公司将 JSTL 的程序包加入互联网服务开发工具包内(Web Services Developer Pack(WSDP)),作为 JSP 技术应用的一个标准。
JSTL 标签是基于 JSP 页面的,这些标签可以插入在 JSP 代码中,本质上 JSTL 也是提前定义好的一组标签,这些标签封装了不同的功能,在页面上调用标签时,就等于调用了封装起来的功能。JSTL 的目标是简化 JSP 页面的设计。对于页面设计人员来说,使用脚本语言操作动态数据是比较困难的,而采用标签和表达式语言则相对容易,JSTL 的使用为页面设计人员和程序开发人员的分工协作提供了便利。
JSTL 标识库的作用是减少 JSP 文件的 Java 代码,使 Java 代码与 HTML 代码分离,所以 JSTL 标识库符合 MVC 设计理念。MVC 设计理念的优势是将动作控制、数据处理、结果显示三者分离。
主要组成
JSTL 包含了和以下操作相关的标签:
1、核心标签:核心标签库是整个 JSTL 中最常用的部分,主要由以下几部分组成:基本输入输出、流程控制、迭代操作和 URL 操作。负责 Web 应用的常见工作,如:循环、表达式赋值、基本输入输出等。
2、I18N 格式标签库:用来格式化显示数据的工作如:对不同区域的日期格式化等。
3、XML 标签库:用来访问 XML 文件的工作,支持 JSP 对 XML 文档的处理。
4、数据库标签库:SQL 标签库包括了大部分访问数据库的逻辑操作,包括查询、更新、事务处理、设置数据源等。可以做访问数据库的工作。
5、函数标签库:用来读取已经定义的某个函数。
优点
JSTL 的优点:
1、简化了 JSP 和 Web 应用程序的开发。
2、在应用程序服务器之间提供了一致的接口,最大限度地提高了 Web 应用在各应用服务器之间的移植。
3、允许JSP设计工具与Web应用程序开发的进一步集成。相信不久就会有支持JSTL的IDE开发工具出现。
4、以一种统一的方式减少了 JSP 中的 Scriptlets 代码数量,可以达到程序中没有任何 Scriptlest 代码。
JSTL 封装了 JSP 开发中的常用功能。比如说,在没有 JSTL 时,通过 Scriptlets 来迭代输出某个 List(Set),有了 JSTL,就可以使用它的一系列的 Tag 进行迭代输出。由于 JSTL 是 JSP2.0 规范的一部分,所以最新的 Web 容器都会支持它。
使用条件
在 JSP 中使用 JSTL 标签需要具备两个条件
1. 使用 taglib 指令引用标签库。
2. 下载安装 JSTL 实现(Implementation)。
JSTL1.2 实现的下载地址:https:jstl.dev.java.net,下载文件:jstl-impl-1.2.jar,将该文件复制到 Web 应用程序的 WEB-INFlib 文件夹中。
JSTL1.0 实现的下载地址为:http://www.apache.org/dist/jakarta/taglibs/standard/,Windows 用户下载 jakarta-taglibs-standard-current.zip。下载后解压,在 lib 文件夹中有两个文件:
jstl.jar
·standard.jar
将这两个文件复制到 Web 应用程序的 WEB-INFlib 文件夹中。