JSP頁面中使用JSTL標籤出現沒法解析問題解決辦法

 
今天創建一個JavaWeb工程測試JNDI數據源鏈接,在jsp頁面中引入了JSLT標籤庫,代碼以下:
1<%@ page language="java"import="java.util.*"pageEncoding="UTF-8"%>
2<%@ taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%>
3<%@ taglib uri="http://java.sun.com/jsp/jstl/sql"prefix="sql"%>
4
5<!DOCTYPE HTML>
6<html>
7 <head>
8 <title>JNDI數據源鏈接測試</title>
9 </head>
10
11 <body>
12<sql:query var="rs"dataSource="jdbc/oracle">
13SELECT * FROM LEAD_OAMS_DBSOURCES
14</sql:query>
15
16<c:forEach var="row"items="${rs.rows}">
17${row.RESOURCEID}---${row.DBSOURCE_NAME}---${row.DBSOURCE_TYPE}<br/>
18</c:forEach>
19 </body>
20</html>
如上,在Jsp中使用了foreach等jstl/core中的語法,結果一運行就報錯,報錯爲:
1org.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 目錄中,以下圖所示:
 
  這個目錄下只有jstl.jar和standard.jar這兩個文件,前者是JSTL規範 API,後者是 JSTL的標準實現。把這兩個jar包放到Web工程的WEB-INF/lib目錄,以下所示:
 
從新啓動tomcat服務器,再次訪問使用了JSTL標籤庫的jsp頁面,此次就能夠正常使用JSTL標籤庫中的標籤庫了,以下圖所示:
相關文章
相關標籤/搜索