`

JSTL

 
阅读更多

JSTL(JSP标准标签库) 是一套基于JSP的标准标签库,可以用它来控制JSP页面中的流程、格式化数字和日期和国际化,另外还有一些实用的EL函数。.

JSTL还提供了SQL和XML标签,来在JSP中执行SQL和解析XML,但在实际使用当中不建议在JSP中使用这些功能,这些功能一般应该在一个真正的Java类和Servlet中来做。

JSTL是Java EE的一部分,并已经包含在了大多数 (但不是所有) servlet容器中。通过http://java.sun.som/jsp/jstl/*可以引入JSTL标签. 请不要将JSTL标签和自定义JSP标签(你自己在.tld文件中定义的)搞混了. JSTL 和其他第三方标签也不一样,例如 JSF、 Spring MVC、 Struts、 Displaytag、 etcetera、 JSTL.。更别和EL表达式混淆。

JSTL版本

JSTL 有以下几种不同的版本:

  • 1.0: 由jstl.jar(API接口)和standard.jar(实现)两个文件组成. 标签引入的URI中不包含/jsp,例如http://java.sun.com/jstl/core,原型版本中还带有名称后缀_rt,例如http://java.sun.com/jstl/core_rt。必须运行在 Servlet 2.3 / JSP 1.2上。这个版本已经快要终结,不推荐继续使用了。

  • 1.1: 和1.0的文件组成是一样的. 但是标签引入的URL包含了/jsp,例如http://java.sun.com/jsp/jstl/core. 运行在 Servlet 2.4 / JSP 2.0规范上。

  • 1.2: 只有jstl-1.2.jar(API接口+实现)一个jar文件。引入标签URL和1.1相同。运行在Servlet 2.5 / JSP 2.1规范上,但是也兼容Servlet 2.4 / JSP 2.0 规范。

  • 1.2.1: 由javax.servlet.jsp.jstl-api-1.2.1(API接口) andjavax.servlet.jsp.jstl-1.2.1.jar(实现) 两个jar文件组成,引入标签URL和1.1相同。运行在Servlet 3.0 / JSP 2.2 规范上,同时兼容Servlet 2.5 / JSP 2.1 和 Servlet 2.4 / JSP 2.0。

  • Facelets: 它是JSP接班人, 包含部分JSTL 1.2 核心标签和全部的JSTL 1.2 函数。需要JSTL 1.2. For Facelets 1.x the XML namespace URI ishttp://java.sun.com/jstl/coreand for Facelets 2.x the XML namespace URI ishttp://java.sun.com/jsp/jstl/corewith (confusingly!) the/jsppart and from Facelets 2.2 onwards the namespace URI ishttp://xmlns.jcp.org/jsp/jstl/core.

大多数但不是全部的servlet容器内置了JSTL, 例如Apache Tomcat 就不包含JSTL, 但Oracle的Glassfish就包含了。 你可以通过查看jar文件中的MANIFEST.MF文件来确定其准确版本。

安装JSTL

非常简单:

  1. 仅仅当你的servlet容器不包含JSTL的时候(例如Tomcat)才需要安装,直接将jar文件放到Webapp/WEB-INF/lib中即可。

  2. 使用正确的TLD URI定义标签。 例如:

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

    如果你使用的是Facelets或者JSPX,应该使用XML命名空间的方式来声明:

    <anyxmlelement xmlns:c="http://java.sun.com/jsp/jstl/core">

为了避免冲突,你需要确保在classpath中美有重复的旧的JSTL版本(包括JRE/libAppserver/lib)。如果你对服务器拥有管理员级别权限, 那么你应该讲jar文件放到Appserver/lib中,而不是Webapp/WEB-INF/lib下面,因为这样其他部署在webapps中的应用就都能使用它了。

摘选自http://stackoverflow.com/tags/jstl/info

总结:

当碰到类似找不到javax.servlet.jsp.jstl.core.LoopTag类定义的问题时,说明你的运行的tomcat下没有包含jstl api了。根据不同的版本的jstl,应该将对应的文件放到tomcat_home/lib下。要想正常使用jstl,光有api还不行,还得有对应的实现,而有时这两个文件都在一起,比如jstl 1.2。

分享到:
评论

相关推荐

    jstl-1.2.1 jar

    jstl-1.2.1,之前的版本需要在服务器中配置一下,而且它分成了两个jar(jstl.jar和standard.jar)还有一个tld文件,而1.2已经不用配置了,直接把javax.servlet.jsp.jstl-1.2.1.jar和javax.servlet.jsp.jstl-api-1.2.1...

    jstl1.1.jar和standard1.1.jar

    今天做项目,用到了el表达式和jstl,在tomcat6.0上跑得好好的,没想到copy到tomcat5.5后,服务器起不来了,是tomcat版本的问题。查阅了不少资料,现在总结如下: 错误信息: java.lang.NoClassDefFoundError: javax...

    jstl-1.2.jar免费下载

    jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2...

    jstl标签使用的总结心得

    本人对jstl的一点小总结 JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。但是在即将推出的JSP 2.0中是作为标准...

    jstl el taglib 完整jar包

     如果你不使用JSTL 1.0标签 taglibs-standard-jstlel.JAR可以不使用。如果不使用XML库,Xalan包也可以省略。    如果你使用Maven构建您的应用程序,添加以下依赖关系到pom.xml文件: &lt;groupId&gt;org.apache....

    [jstl-1.2.jar]和[jstl-api-1.2.jar、standard.jar]两个版本.zip

    包含了两个版本jstl文件,standard.jar和jstl-api-1.2.jar是一个版本,导入时需要将两个都导入,jstl-1.2.jar是高版本的,是将低版本的两个文件合成一个了,故只需要导入一个文件即可,导入的同时在jsp文件首行写入 ...

    jstl-api-1.2和jstl-impl-1.2

    jstl-api-1.2和jstl-impl-1.2,jstl-api-1.2和jstl-impl-1.2,jstl-api-1.2和jstl-impl-1.2,jstl-api-1.2和jstl-impl-1.2

    JSTL标签JSTL标签

    JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签

    JSTL函数JSTL函数

    JSTL函数JSTL函数JSTL函数JSTL函数JSTL函数JSTL函数JSTL函数JSTL函数

    JSTL中文帮助文档

    JSTL中文帮助文档 JSTL中文帮助文档 JSTL中文帮助文档 。。。

    JSTL 标签大全详解

    JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是JSP内置的标签,需要我们自己导包,以及指定标签库而已! 如果你使用...

    jstl-1.2.jar 官方下载

    JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。在JSP 2.0中也...

    jstl标准标签库jar包.zip

    &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%&gt; 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帮助 jstl帮助手册 jstl帮助文档

    jstl帮助 jstl帮助手册 jstl帮助文档

    jstljar包包含jstl.jar和standard.jar文件

    包含jstl.jar和standard.jar文件,如果要使用JSTL和EL表达式,就必须导入。

    jstl-api-1.2.jar、jstl-impl-1.2.jar

    鄙人分享 亲测可用 欢迎使用 jstl-impl-1.2.jar jstl-impl-1.2.jar、

    jstl-jar包.zip

    项目中添加 jstl.jar 和 standard.jar 两个jar包。然后在页面上添加如下引用: &lt;%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%&gt; &lt;%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt...

    JSTL标签依赖包下载

    JSTL标签依赖包jar包html标签 JSTL标签依赖包jar包html标签 JSTL标签依赖包jar包html标签

Global site tag (gtag.js) - Google Analytics