从来没认为这是个问题,不过最近发现网上关于这方面的资料比较乱,现将自己的了解整理在此,以备查阅。
开发团队经常使用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" %>
相关推荐
此外,还需要一系列的JAR包,如myfaces-api.jar、myfaces-impl.jar、jstl.jar、standard.jar、commons-io.jar、commons-collections.jar、itext.jar、oro.jar、xml-apis.jar等,这些库分别负责不同的功能,如核心...
8. JSP标准标签库(JSTL):这是一种用于JSP页面的自定义标签库,提供了许多用于遍历集合、条件输出等的标签,使JSP代码更加简洁和易于维护。 9. 表达式语言(EL):EL是一种用于简化JSP页面中Java代码编写的语言,...
- JSP页面技术:EL表达式、JSTL标签库等高级功能介绍。 2. **过滤器与监听器**: - 过滤器:实现用户权限验证、编码转换等功能的方法。 - 监听器:监控应用事件(如请求、会话等)的变化,并作出响应。 3. **...
少儿编程scratch项目源代码文件案例素材-岩浆生存 双人游戏.zip
2024安全行业大模型技术应用态势发展报告-中国通信标准化协会
scratch少儿编程逻辑思维游戏源码-海上遭遇.zip
少儿编程scratch项目源代码文件案例素材-羊羊繁殖V1.zip
通信行业:“数据要素X”三年行动规划,面向应用场景挖掘数据价值
内容概要:文章详细探讨了数据连接性和云集成在增强汽车电子电气架构(EEA)方面的重要作用。首先介绍了从分布式到集中式架构的技术演进,解释了域集中式和中央集中式架构的优势,如远程软件升级(OTA)、软硬件解耦等。其次,阐述了云平台在远程软件更新、数据存储与分析等方面的支持作用。接着,强调了数据连接性在实时通信、低延迟决策、多模态传感器融合以及工业物联网集成中的核心作用。此外,讨论了云集成在个性化服务、AI助手、自动驾驶训练与仿真、预测性维护等方面的应用。最后,分析了市场需求与政策支持对这一领域的影响,并展望了未来的发展趋势,如5G-A/6G、边缘计算与AI大模型的融合。 适用人群:汽车电子工程师、智能网联汽车行业从业者及相关领域的研究者。 使用场景及目标:①理解汽车电子电气架构从分布式到集中式的演进过程及其带来的优势;②掌握数据连接性和云集成在提升车辆智能化水平的具体应用和技术细节;③了解相关政策法规对智能网联汽车发展的支持与规范;④探索未来技术发展趋势及其可能带来的变革。 其他说明:本文不仅提供了技术层面的深入解析,还结合了实际应用案例,如特斯拉、蔚来、中联重科、约翰迪尔等企业的实践成果,有助于读者全面理解数据连接性和云集成在现代汽车工业中的重要地位。同时,文中提及的政策法规也为行业发展指明了方向。
少儿编程scratch项目源代码文件案例素材-消灭病毒大作战.zip
scratch少儿编程逻辑思维游戏源码-靶子射击.zip
scratch少儿编程逻辑思维游戏源码-飞翔圣诞老人.zip
scratch少儿编程逻辑思维游戏源码-尖刺.zip
少儿编程scratch项目源代码文件案例素材-小圆点.zip
scratch少儿编程逻辑思维游戏源码-疾速逃生.zip
scratch少儿编程逻辑思维游戏源码-火柴人地底冒险.zip
scratch少儿编程逻辑思维游戏源码-吉文战争.zip
scratch少儿编程逻辑思维游戏源码-荒野跑酷.zip
基于java开发的以酒交友的社交APP软件+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用 基于java开发的以酒交友的社交APP软件+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于java开发的以酒交友的社交APP软件+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用 基于java开发的以酒交友的社交APP软件+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用 基于java开发的以酒交友的社交APP软件+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用 基于java开发的以酒交友的社交APP软件+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用 基于java开发的以酒交友的社交APP软件+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用
scratch少儿编程逻辑思维游戏源码-滚动天空3D 创造版.zip