2010-12-14 61 views
5

我試着用jstl編碼。唯一的例外是jstl的web.xml

org.apache.jasper.JasperException:絕對URI:http://java.sun.com/jsp/jstl/core不能在web.xml或部署該應用

我使用Eclipse中jar文件來解決。我加了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> 
+0

您正在使用哪個servlet容器? – skaffman 2010-12-14 09:46:06

+0

我正在使用Tomcat 6.0 – Sumithra 2010-12-14 09:47:38

+1

向我們展示一個示例JSP – skaffman 2010-12-14 09:49:32

回答

0

您不應該將taglib元素添加到web.xml中。通過容器中的服務機制來詢問標準的罐子罐。

確保jar文件與web-app一起導出並位於WEB-INF/lib下,並且您應該沒問題。

5

如果您下載具有不同URI的古老JSTL 1.0,或者將JAR放在錯誤位置(即不在/WEB-INF/lib或webapp的運行時類路徑中的任何位置),就會發生這種情況。

確保您下載正確的版本並將JAR(s)放入/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

如果jar文件保存在WEB-INF中的lib目錄中,則不需要在web.xml中輸入jstl.jar或standard.jar。 容器默認查看WEB-INF的lib目錄