【问题标题】:How to use JSTL 1.2 on Tomcat 8?如何在 Tomcat 8 上使用 JSTL 1.2?
【发布时间】:2019-01-21 23:34:51
【问题描述】:

我想在我的 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 文件,我可以清楚地看到 META-INF 文件夹中的 c.tld 文件,在该文件中我什至可以看到这一行:<uri>http://java.sun.com/jsp/jstl/core</uri>

我没有使用 maven,只是根据需要将 jar 复制到 WEB-INF/lib 文件夹中。 我的网络应用程序的 web.xml 文件指定它是网络应用程序版本 3.1

我还能做些什么来解决这个问题?另外,有没有关于使用 JSTL 的现代文档? Oracle 的文档以here 结尾,几乎没有关于使用 JSTL 的详细信息,甚至没有详细说明如何获取它。

Webapp 结构:

【问题讨论】:

  • 你能给你的项目结构截图吗?

标签: jstl


【解决方案1】:

在我的例子中,Tomcat 的catalina.properties 文件的jarsToSkip 设置为\*.jar,因此不会扫描任何jar,从而加快启动速度。为了解决这个问题,我在其下方的jarsToScan 设置中添加了taglibs*.jar(我的罐子被称为taglibs-standard-impl-1.2.5.jartaglibs-standard-spec-1.2.5,所以它都选择了),从而解决了问题。

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

Tomcat 的页面上有一个很好的使用标记库 here 和有用的 readme 的文章。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-07
    • 2015-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    • 2019-03-22
    相关资源
    最近更新 更多