如何在Tomcat 8上使用JSTL 1.2?

时间:2019-01-21 23:34:51

标签: jstl

我想在Tomcat 8 Web应用程序中使用JSTL 1.2。我继续得到JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application。互联网上的其他答案都没有为我解决这个问题。

我已验证jstl-1.2.jar位于我的Web应用程序的WEB-INF/lib文件夹中,并且我的JSP的顶部声明了较新的<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

如果我使用7zip打开jstl-1.2.jar文件,则可以清楚地看到c.tld文件夹中的META-INF文件,在该文件中,我什至可以看到以下行:{{1} }。

我不使用Maven,只是根据需要将jar复制到WEB-INF / lib文件夹中。 我的网络应用程序的<uri>http://java.sun.com/jsp/jstl/core</uri>文件指定它是网络应用程序版本3.1

还有什么可以解决此问题的方法?另外,是否有使用JSTL的最新文档? Oracle的文档以here结尾,其中几乎没有关于使用JSTL甚至如何获得它的详细信息。

Webapp结构:

enter image description here

1 个答案:

答案 0 :(得分:0)

在我的情况下,Tomcat的catalina.properties文件的jarsToSkip设置为\*.jar,因此不会扫描任何jar,从而加快了启动速度。要覆盖此问题,我在其下面的taglibs*.jar设置中添加了taglibs-standard-impl-1.2.5.jar(我的jars分别称为taglibs-standard-spec-1.2.5jarsToScan,因此它们都被选中了)。

我猜想如果不扫描罐子,就找不到标签库。

Tomcat的页面很好地记录了使用标签库here和有用的readme