<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<c:forEach begin="1" end="10" var="i">
${i }<br />
</c:forEach>
</body>
</html>
如上,在Jsp中使用了foreach等jstl/core中的語法,結果一運行就報錯,報錯爲:
1 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
如下圖所示:
從錯誤信息來看是說jsp頁面的引入的jstl標籤庫無法解析,上網找了一下這個錯誤的原因,原來是我的web項目中沒有jstl標籤庫的相關jar包造成的,也就是缺少jstl.jar和 standard.jar這兩個jar包才造成這個問題的(這個問題比較鬱悶,我以爲MyEclipse會自動導入jstl.jar和 standard.jar這兩個jar包)如下圖所示:
既然是缺少了jstl.jar和 standard.jar,那麼解決的辦法就是手動將jstl.jar和 standard.jar這兩個jar包加入到web項目的WEB-INF/lib目錄中或者是把jstl.jar、standard.jar複製到tomcat的lib中就可以了,JSTL API 和實現包,在Tomcat下面都有,位於 %TOMCAT_HOME%/webapps/examples/WEB-INF/lib 目錄中,如下圖所示:
重新啓動tomcat服務器,再次訪問使用了JSTL標籤庫的jsp頁面,這次就可以正常使用JSTL標籤庫中的標籤庫了