绝对的uri:http://java.sun.com/jsp/jstl/core无法解析

时间:2014-07-12 13:18:02

标签: java maven jstl

我在这个错误上搜索了几个其他线程,其中大多数都有错误/缺少maven依赖或者他们的taglib中有错误的uri。

据我所知,我有一切正确,一旦我到达使用JSTL的jsp,我的应用程序仍然失败。

这是我正在使用的taglib:

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

这些是我的maven依赖

<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

据我所知,从servlet api 2.4上你需要jstl 1.2,我有,所以我真的没有看到这里的问题......

编辑:我看到这个问题被标记为重复,但事实并非如此。通过修复taglib的uri来解决引用问题,这里是将jstl添加到tomcat的lib文件夹的情况

3 个答案:

答案 0 :(得分:3)

我将jstl-1.2.jar添加到我的tomcat/lib文件夹中。由于tomcat没有jstl jar并将我的范围放在provided上,我必须确保我的容器(tomcat)有相关的jar。

虽然我还没有对它进行测试,但是这也应该通过将jstl jar放在默认的编译范围上来实现

答案 1 :(得分:1)

mvnrepository

尝试这个
<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

阅读类似的帖子here


更新版本

 <dependency>
     <groupId>javax.servlet</groupId>
     <artifactId>javax.servlet-api</artifactId>
     <version>3.1.0</version>
 </dependency>

答案 2 :(得分:0)

使用:

<dependency>
    <groupId>javax.servlet.jsp.jstl</groupId>
    <artifactId>jstl-api</artifactId>
    <version>1.2</version>
</dependency>

javax.servlet移到了上面。