这里做个错误记录,真的是祭奠一下愚蠢的自己,在这个问题上耗了一个晚上。
在JSP中编写jstl语句的<c:foreach>时出现了如下错误:找不到jstl,无法应用jstl
严重错误:org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml

这里先说下最终解决办法:正确引入maven的依赖,是这一段引入,详情可见maven仓库
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
下面是试水过程:
检查了头文件的引入,加上
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 这是jstl1.1之后的版本声明
同时也在maven中引入依赖(初始,跟着maven提示引入,错误的可别添加)
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
运行服务器,出现新错误
org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV
提示需要下载standard.tlv文件,这个时候就有疑问了,我使用的是JSTL1.2版本的,包含了这个文件的,所以就去maven仓库中搜寻。
结果!!!
发现jstl移位置了!(此时只想骂自己傻)
它现在存放在javax.servlet.jsp.jstl中,所以把原来引入的依赖删掉,换成下面这个
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
终于
重启服务器成功了yeah~
os:这是我在写这篇博客重现错误记录的时候更改正确的(突然福至心灵,想到不对劲,事实证明熬夜使人变傻...)
---来自深夜打代码的秃头猩猩
本文记录了解决JSP使用jstl标签时遇到的错误:The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml。通过正确引入Maven依赖和调整库位置,成功解决问题。
3491

被折叠的 条评论
为什么被折叠?



