關於在Intellij Idea中使用JSTL標簽庫報錯的問題


今天在使用idea做jsp的項目時,首先發現在jsp頁面里引入的DTD報錯,idea不識別DTD。而tomcat運行正常,點擊頁面跳轉到有jstl的DTD頁面時報錯,檢查瀏覽器,發現如下問題:

             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

異常出現的問題有三

  其一:jstl版本問題

      jstl1.0的DTD寫法是:<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core " %>

      jstl1.1以后的寫法是: <%@ taglib prefix="c" uri=http://java.sun.com/jsp/jstl/core %>

  排查問題:我用的是1.1.2版本的jar,項目中引用的DTD是1.1.2的DTD。

  

  其二:jstl的jar的問題

      classes文件中lib下有jar,但是WEB_INF的lib下沒有jar包。

  排查問題:classes下lib中有jar包,但是WEN-INF下的lib文件夾下沒有。

  解決:   下載JSTL標簽庫的DTD文件
      下載地址: http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
      拉到最下面,找到最新的那一個也就是 "jakarta-taglibs-standard-1.1.2.zip",它下面的asc文件不用下載
      或者直接點的下載地址:  http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/jakarta-taglibs-standard-1.1.2.zip 

  其三:發現引入jar之后還是會報錯(低版本ide的問題)

    但是idea還是會報錯,因為它不認識這個標簽,所以需要在設置里進行添加。 
    選擇File—>Setting在Setting下找到languages&Frameworks—->Schemas and DTDs,在右邊的External Schemas and DTDs框下點擊+,然后在URI中填入http://java.sun.com/jsp/jstl/core 在explorer中找到解壓文件的tld目錄下的c.tld文件,並選擇,到這里,你就可以結局idea不識別jstl的問題

  排查問題:我用的是最新的idea,所以沒有出現這個問題。引入之后直接可用,雖然在Setting中找不到對應的Schemas標簽的uri,但是依然可用。不清楚為什么,如果有懂的大佬,歡迎留言相告,不勝感激。

  

  from:https://www.cnblogs.com/junhuawang/p/6953177.html,https://www.cnblogs.com/dangzhenjiuhao/p/5791620.html

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM