问题描述
我使用的是 JDK 1.7、Apache Tomcat 7.0.23 并且我已经将 JSTL 核心库 (1.2) 和 STANDARD jar 放在 WEB_INF lib 文件夹中它没有给我任何警告但是当我尝试运行代码时
I am using JDK 1.7, Apache Tomcat 7.0.23 and I have placed JSTL core library(1.2) and STANDARD jar in WEB_INF lib folder it is not giving me any warning but when I will try to run the code
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- Create Bean Instance-->
<jsp:useBean id="listdomain" class="bean.PopulateMultiDomain" scope="session"></jsp:useBean>
<jsp:setProperty property="*" name="listdomain"/>
<c:forEach var="item" items="${listdomain.status}">
<option>
<c:out value="${item}" />
</option>
</c:forEach>
它给了我以下错误:
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:410)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:117)
org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:311)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:152)
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:1425)
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:198)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
谁能告诉我我犯了什么错误?
Can anyone suggest me what mistake I am making?
推荐答案
删除 standard.jar
.当 TLD URI 没有 /jsp
路径时,它显然是旧的 JSTL 1.0 版本.JSTL 1.2 可用这里你根本不需要 standard.jar
.只需 /WEB-INF/lib
中的 jstl-1.2.jar
就足够了.
Remove the standard.jar
. It's apparently of old JSTL 1.0 version when the TLD URIs were without the /jsp
path. With JSTL 1.2 as available here you don't need a standard.jar
at all. Just the jstl-1.2.jar
in /WEB-INF/lib
is sufficient.
这篇关于绝对 uri:http://java.sun.com/jsp/jstl/core 无法在 web.xml 或使用此应用程序部署的 jar 文件中解析的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!