jstl的web.xml

时间:2010-12-14 09:41:55

标签: java jsp jstl

我用jstl尝试过代码。

是个例外
  

org.apache.jasper.JasperException:无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:http://java.sun.com/jsp/jstl/core

我正在使用eclipse。我添加了jstl.jarstandard.jar。我现在应该在web.xml中给出什么?我不知道在<taglib>中要提供什么。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"  %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<c:forEach var = "userName" items = "${name}"> 
<tr> 
<td>${userName}</td>

 </tr>
 </c:forEach>   

</body>
</html>

3 个答案:

答案 0 :(得分:5)

如果您下载了具有不同URI的古老JSTL 1.0,或者您将JAR放在错误的位置(即不在/WEB-INF/lib或webapp的运行时类路径中的任何位置),就会发生这种情况。

确保下载正确的版本并将JAR放入/WEB-INF/lib。对于web.xml声明为Servlet 2.5的Web应用程序,您只需要下载JSTL 1.2 as jstl-1.2.jar。对于Servlet 2.4 Web应用程序,您需要下载JSTL 1.1 as jstl.jar and standard.jar

您无需提取JAR。您也不需要修改web.xml,因为一些糟糕的在线教程建议。只需在运行时类路径中删除JAR,在JSP中声明taglib即可。

答案 1 :(得分:1)

如果jar文件保存在WEB-INF内的lib目录中,则无需在web.xml中输入jstl.jar或standard.jar。 默认情况下,容器会查看WEB-INF的lib目录

答案 2 :(得分:0)

您不必将taglib元素添加到web.xml。标准&amp; jstl jar通过容器中的服务机制进行查询。

确保使用web-app导出jar并位于WEB-INF / lib下,你应该没问题。