[zz] JSTL版本錯誤的解決-"This absolute uri (http://java.sun.com/jsp/jstl/core) cannot .

       今天將JSP的項目從Tomcat 5.5.12移植到Jboss AS去,偶然發現了一個奇怪的問題。"org.apache.jasper.JasperException: This absolute uri (http://java.sun.com/jsp/jstl/core ) cannot be resolved in either web.xml or the jar files deployed with this application "

    由於JSTL1.0和JSTL1.1的聲明語句不一樣。

JSTL 1.0 的聲明是:
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core " %>

JSTL1.1 的聲明是:
<%@ taglib prefix="c" uri=http://java.sun.com/jsp/jstl/core %>

如果你使用的JSTL庫和你在JSP中的聲明不一致。就會報上面提到的Exception。

另外,要注意的是:Tomcat是先引用"TOMCAT_HOME/shared/lib"下面的庫,再引用web項目下面的"WEB-INF/lib'的庫。

還有就是,jBuilder自帶庫中的JSTL有兩個配置,一個是"JSTL"(1.0),一個是"JSTL1.1"(1.1),注意在做項目的時候別引用錯了。

還有一個技巧是:如何判斷JSTL的兩個庫文件(standar.jar和jstl.jar)的版本?展開jar文件在"META-INF"目錄下的MANIFEST.MF文件,其中"Specification-Version"指名的就是版本號。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章