jsp中
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:forEach var="str" items="${users}">
<tr>
<td>
${str}
</td>
</tr>
</c:forEach>
如上使用了foreach等jstl/core中的語法,報錯為:
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
最簡單的辦法是把jstl.jar standard.jar復制到tomcat的web-inf/lib中(在tomcat6 webapps/examples/WEB-INF/lib 中也有這兩個jar包。
這樣總感覺麻煩,有人說要在web.xml部署描述符中這樣寫:
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
這種方法不行,這個可能確實告訴servlet容器用了什麼庫,但是並沒有把相應的庫下載下來,還是得把jstl.jar和standard.jar拷貝到lib目錄下,總之得讓classloader找得到才行。