绝对uri:http://java.sun.com/jsp/jstl/core不能在web.xml

我正在使用JDK 1.7,Apache Tomcat 7.0.23,并且已将JSTL核心库(1.2)和STANDARD jar放在WEB_INF lib文件夹中,它没有给我任何警告,但是当我尝试运行代码时


<%@ 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)

谁能告诉我我犯了什么错误?


蓝山帝景
浏览 831回答 3
3回答

烙印99

删除standard.jar。TLD URI没有/jsp路径时,它显然是旧的JSTL 1.0版本。有了这里提供的JSTL 1.2,您根本不需要standard.jar。只需jstl-1.2.jar入/WEB-INF/lib就足够了。

ITMISS

我删除了作用域,然后使用Maven更新来解决此问题。<dependency>&nbsp; &nbsp; <groupId>javax.servlet</groupId>&nbsp; &nbsp; <artifactId>jstl</artifactId>&nbsp; &nbsp; <version>1.2</version>&nbsp; &nbsp; **<!-- <scope>provided</scope> -->**</dependency>jstl库不在tomcat lib文件夹中,因此我们必须包含它。 我不明白为什么我们被告知要同时保留servlet-api和jstl的作用域。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java