从来没认为这是个问题,不过最近发现网上关于这方面的资料比较乱,现将自己的了解整理在此,以备查阅。
开发团队经常使用jstl标签库,开始也没在意,大家都是简单引入jstl.jar和standard.jar,后来发现这两个包也有版本差别,各项目小组用的不同,在jsp中定义也有差别,还会引起冲突和代码不兼容。于是想在网上找个最新的包,使用一种最官方推荐的用法把团队的开发规范一下。本以为这是个极简单的活,不料却也费了一番功夫。
首先,关于JSTL之前的各版本及用法,请见这篇文章:
其中关于1.2版本,只有一个jar包,打开看一下。其实是把之前两个jar包(jstl.jar,接口定义包;standard.jar实现包)合二为一了,但这个包的出处却不详,怀疑是谁为了使用便自己打成的包。
关于JSTL标准及接口定义,其最新版应该就是1.2版了,这个大约是2011年推出的。
我这里重点整理一下关于JSTL实现的最新进展。在2009年之前,Jakarta Taglib项目组提供了JSTL的各版本的实现jar包(也就是常见的jstl.jar和standard.jar),此后taglib项目则被转到tomcat小组的旗下,具体见下方
Starting in 2000, Jakarta hosted the Jakarta Taglibs project, a large collection of JSP Tag Libraries. They ranged from simple utility libraries and UI libraries, to Dreamweaver extensions and an implementation of the JSP Standard Tag Library (JSTL) specification.
With the advent of JSTL, the core features of many of the libraries had been standardized and the need for these libraries diminished. As such, much of the Taglibs codebase moved into maintenance mode.
With the advent of JSTL, the core features of many of the libraries had been standardized and the need for these libraries diminished. As such, much of the Taglibs codebase moved into maintenance mode.
In 2008 and 2009, the majority of these libraries were deprecated and have now been retired. The remaining work has moved over to the Tomcat Taglibs project - namely the following taglibs:
- Standard - The implementations of the various JSTL specifications
- RDC - Reusable Dialog Components Taglib
In 2014 the RDC Taglib was retired from the Tomcat Taglibs project.
大概翻译下:
从2000年开始,Jakarta开发管理着Jakarta标签库项目,这是一个JSP标签库的大集合。这个项目包括了从简单的应用库到UI库,还包括Dreamweaver扩展以及对JSP标准标签库定义(JSTL)的实现。
随着JSTL的出现,包含在这个项目中很多库特征已被标准化,并且对这些库的需求也在减少。 相应地,很多标签库的基础代码已转为维护状态(不再更新)。
2008到2009年,这些库中的主要部分都不推荐使用,到现在已经被废弃了。其余的工作被挪到了Tomcat Taglibs项目----也就是下列的标签库:
标准--各种JSTL定义的实现。
-------------------------------------------------------------------------------------------------
于是转到tomcat的taglib项目页面:http://tomcat.apache.org/taglibs/
2015/02/20 | [Standard] The Apache Standard Taglib 1.2.3, a minor bugfix version, has been released. |
2014/01/02 | [Standard] The Apache Standard Taglib 1.2.1, an implementation of JSTL 1.2, has been released. |
2009/06/07 | [ALL] The Standard and RDC Taglibs have moved over to Tomcat. All other taglibs back at Jakarta have been deprecated. |
好家伙,2009年接手这个项目,到2014年才更新一版,最新版本是2015年2月份。
可以看到最新的版本是Standard1.2.3,实现的JSTL版本是JSTL1.2。系统要求是Servlet 2.5, JavaServer Pages 2.1.
到下载页面下载到的却是最新的1.2.5版
taglibs-standard-spec-1.2.5.jar(相当于之前的jstl.jar,属于接口定义类)
和
taglibs-standard-impl-1.2.5.jar jar(相当于之前的standard.jar,属于实现类)
不过查看其中的c.tld文件,标注的版本号就是
<description>JSTL 1.2 core library</description>
<display-name>JSTL core</display-name>
<tlib-version>1.2</tlib-version>
也就是说,接口规范的版本还是1.2,1.2.5只是实现的版本罢了。
JSTL的另一个实现,是在oracle官网上查到的由glassfish提供的,其最新版本也是1.2,而且看日期还是2011年的版本。
----------------------------------------------------------
关于使用方法,在最新版的页面上有一个readme,基本把问题说清了:
LIBRARY DEPENDENCIES
This version of the Standard Tag Library has the following runtime
dependencies:
1. Dependencies provided by a JSP 2.1 container:
- Java 1.5 or later
- Servlet 2.5 or later
- JSP 2.1 or later
2. Additional dependencies
- The XML tag library requires Apache Xalan 2.7.1 or later
---
Apache Xalan 2.7.1
To address performance issues with XSLT processing, this version relies on
implementation specific functionality from Apache Xalan. The following
libraries should be included in the classpath for your application:
- xalan-2.7.1.jar
- serializer-2.7.1.jar
---------------------------------------------------------------------------
ADD DEPENDENCIES TO A WEB APPLICATION
To use this distribution with your own web applications, add the following JAR
files to the '/WEB-INF/lib' directory of your application:
- taglibs-standard-spec-1.2.5.jar
- taglibs-standard-impl-1.2.5.jar
- taglibs-standard-jstlel-1.2.5.jar
- xalan-2.7.1.jar
- serializer-2.7.1.jar
If you do not use JSTL 1.0 tags then the "taglibs-standard-jstlel" JAR may be
omitted. If you do not use the XML library, then the Apache Xalan dependencies
may also be omitted.
If you build you application with Maven, add the following dependencies to
your pom.xml file:
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-spec</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
<version>1.2.5</version>
</dependency>
---------------------------------------------------------------------------
USING JSTL TAGS FROM A JSP
The JSTL tag library can be imported into your pages with the following directives:
CORE LIBRARY
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
XML LIBRARY
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
FMT LIBRARY
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
SQL LIBRARY
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
FUNCTIONS LIBRARY
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
相关推荐
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一组预定义的HTML和XML标签,用于简化JavaServer Pages(JSP)开发。它提供了更面向声明的编程方式,使开发者可以更专注于业务逻辑...
**JSTL标签库及其使用方法** JavaServer Pages Standard Tag Library(JSTL)是Java社区为简化JSP页面开发而推出的一个标准标签库。它提供了丰富的功能,如迭代、条件判断、XML处理、国际化等,使代码更加简洁、易...
JAVAEE 实验报告 EL 表达式和 JSTL 标签库的使用 EL 表达式(Expression Language)是一种在 JSP 页面中使用的脚本语言,用于简化 JSP 页面的开发。EL 表达式可以访问 JSP 页面中的变量、对象和集合,进行逻辑操作...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一组标准标签库,它提供了一套方便、高效的JSP页面控制和数据处理标签,旨在简化JSP开发,提高代码的可读性和可维护性。本篇文章将...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中的一个重要组成部分,主要用于简化JSP页面中的代码,提升可维护性和可读性。JSTL提供了一系列预定义的标签,用于处理常见的任务,如迭代、...
在JavaWeb开发中,自定义标签库和JSTL(JavaServer Pages Standard Tag Library)是两个重要的组件,它们极大地提高了代码的可读性和可维护性。本教程将深入探讨这两个主题,帮助开发者更好地理解和应用它们。 一、...
JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中一个重要的标签库,主要用于简化JSP页面中的Java代码,提高JSP页面的可读性和维护性。在Tomcat 10这个高性能、轻量级的Servlet容器中,JSTL的使用...
JSTL(JavaServer Pages Standard Tag Library)是Java服务器页面标准标签库,它为JSP开发者提供了一系列预定义的、可重用的标签,以简化网页开发过程,提高代码的可读性和可维护性。JSTL主要由以下几个核心部分组成...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一组标准标签库,它提供了一套方便的HTML元素等效的Java标签,用于简化JSP页面的编写,提高代码的可读性和可维护性。这个压缩包包含...
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)是一个用于JSP的标准标签库,它提供了一系列预定义的标签,简化了常见的编程任务,如控制流程、输出处理、URL管理和数据操作等。JSTL的核心标签库(Core Library)是...
JSTL,全称为JavaServer Pages Standard Tag Library,是Java EE平台中用于简化JSP页面开发的一组标准标签库。它提供了一系列预定义的标签,用于处理常见的任务,如迭代、条件判断、国际化、XML处理等,使得代码更加...
### JSTL标签库及其下载 #### JSTL概述 JSTL(JavaServer Pages Standard Tag Library,JavaServer页面标准标签库)是一组用于开发JavaServer Pages页面的标准标签集合。这些标签简化了JSP页面的编写工作,使...
**JSTL 1.2 主要功能及标签** - **Core标签库(c)** - `c:set`:设置变量。 - `c:out`:输出变量或表达式的值。 - `c:if`:条件判断。 - `c:choose`, `c:when`, `c:otherwise`:多条件选择。 - `c:forEach`:...
**JSTL标签库与JAR包详解** JavaServer Pages Standard Tag Library(JSTL)是Java EE领域中用于简化JSP开发的一个重要工具。它提供了一组预定义的标签,帮助开发者更高效地处理常见任务,如迭代、条件判断、国际化...
JSTL标准标签库的各个标签详细说明,包含了核心标签库(c:),国际化标签库(fmt:)以及函数标签库(fn).注意:SQL标签库(sql:)以及XML标签库(xml:)不应使用,文档中也未提及
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中不可或缺的一部分,它为JSP页面提供了一套标准的标签,用于简化HTML和XML文档的处理,提高代码的可读性和可维护性。JSTL的使用极大地减少...
JSTL1.1.2标签库 JSTL1.1.2标签库 JSTL1.1.2标签库