我正在使用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)谁能告诉我我犯了什么错误?
3 回答
烙印99
TA贡献1829条经验 获得超13个赞
删除standard.jar
。TLD URI没有/jsp
路径时,它显然是旧的JSTL 1.0版本。有了这里提供的JSTL 1.2,您根本不需要standard.jar
。只需jstl-1.2.jar
入/WEB-INF/lib
就足够了。
ITMISS
TA贡献1871条经验 获得超8个赞
我删除了作用域,然后使用Maven更新来解决此问题。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
**<!-- <scope>provided</scope> -->**
</dependency>
jstl库不在tomcat lib文件夹中,因此我们必须包含它。 我不明白为什么我们被告知要同时保留servlet-api和jstl的作用域。
添加回答
举报
0/150
提交
取消