http://java.sun.com/jsp/jstl/core在web.xml......都无法解析(仅在项目的某些jsp页面)
http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml...... (only in some of the jsp pages of a project)
我对“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
”有疑问。
我的项目在早上运行良好,我在同一天的傍晚遇到了这个问题。我的某些 jsp 页面加载没有问题,但其中一些显示以下错误:
org.apache.jasper.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
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:445)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:117)
org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:325)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:154)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:410)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1410)
org.apache.jasper.compiler.Parser.parse(Parser.java:138)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:199)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:341)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
我的每个 jsp
都有相同的 taglib
,即:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
和我的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
顺便说一下,我的项目中没有 pom.xml
。
这么短的时间,怎么可能出问题?我能做些什么来解决这个问题?我在电脑前坐了几个小时来寻找解决方案。请帮我。 :(
Tomcat 版本 - 7.0.56
jstl-1.2
我已经通过将 jstl-1.2
替换为 javax.servlet.jsp.jstl-api-1.2.1
(API)和 javax.servlet.jsp.jstl-1.2.1.jar
(实现)来解决它,如 https://whosebug.com/tags/jstl/info 所示。两个 jar 文件都可以在那里下载。
记得在将新的 jar 文件复制到您的 WEB-INF/lib 后刷新并清理您的项目。
在 Eclipse 上工作时,虽然我在构建路径(class 路径)中添加了 jar 文件,但我忘记在 Web-INF/lib 中添加。所以不要犯这个错误。
此外,刷新项目以便加载新添加的 jar。
我对“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
”有疑问。
我的项目在早上运行良好,我在同一天的傍晚遇到了这个问题。我的某些 jsp 页面加载没有问题,但其中一些显示以下错误:
org.apache.jasper.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
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:445)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:117)
org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:325)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:154)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:410)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1410)
org.apache.jasper.compiler.Parser.parse(Parser.java:138)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:199)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:341)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
我的每个 jsp
都有相同的 taglib
,即:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
和我的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
顺便说一下,我的项目中没有 pom.xml
。
这么短的时间,怎么可能出问题?我能做些什么来解决这个问题?我在电脑前坐了几个小时来寻找解决方案。请帮我。 :(
Tomcat 版本 - 7.0.56
jstl-1.2
我已经通过将 jstl-1.2
替换为 javax.servlet.jsp.jstl-api-1.2.1
(API)和 javax.servlet.jsp.jstl-1.2.1.jar
(实现)来解决它,如 https://whosebug.com/tags/jstl/info 所示。两个 jar 文件都可以在那里下载。
记得在将新的 jar 文件复制到您的 WEB-INF/lib 后刷新并清理您的项目。
在 Eclipse 上工作时,虽然我在构建路径(class 路径)中添加了 jar 文件,但我忘记在 Web-INF/lib 中添加。所以不要犯这个错误。
此外,刷新项目以便加载新添加的 jar。