为什么在Tomcat7中有el-api.jar但没有jstl库?

Suz*_*ioc 3 java jsp jstl el tomcat7

通常应该使用JSTL/EL库吗?Tomcat发行版应该包含它们吗?我在Eclipse Indigo下安装了Tomcat7,现在在Project explorer的"Apache Tomcat v7.0"分支下看到,有一个名为的jar el-api.jar.它是如何实现的jstl-api.jar,jstl-impl.jar我通常习惯在jsps中使用JSTL/EL?我可以在仅el-api.jar安装的jsps中使用EL或JSTL 吗?

McD*_*ell 8

Tomcat是一个Servlet和JSP容器.表达式语言是JSP规范的依赖项.JSTL不是.

从发行说明:

捆绑的API:

Tomcat 7.0的标准安装使所有以下API可供Web应用程序使用(通过将它们放在"lib"中):

  • annotations-api.jar(注释包)
  • catalina.jar(Tomcat Catalina实施)
  • catalina-ant.jar(Tomcat Catalina Ant任务)
  • catalina-ha.jar(高可用性包)
  • catalina-tribes.jar(群组通讯)
  • ecj-3.7.1.jar(Eclipse JDT Java编译器)
  • el-api.jar(EL 2.2 API)
  • jasper.jar(Jasper 2编译器和运行时)
  • jasper-el.jar(Jasper 2 EL实现)
  • jsp-api.jar(JSP 2.2 API)
  • servlet-api.jar(Servlet 3.0 API)
  • tomcat-api.jar(Catalina和Jasper共享的接口)
  • tomcat-coyote.jar(Tomcat连接器和实用程序类)
  • tomcat-dbcp.jar(基于Commons DBCP重命名数据库连接池的包)

由于JSTL只是一个标记库,您应该可以通过将它放在应用程序中来添加任何实现WEB-INF/lib.