Maven專案匯入jstl注意事項
使用<c:forEach></c:forEach>標籤,提示Unknown tag (c:forEach).
jsp頂端寫入標籤
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
提示:Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"因為缺少相關包
新增jar包時原先正常的包報了大批 missing artifact...錯誤的原因是,之前引入的包裡面和jstl依賴的jsp-api衝突,修改pom檔案中的jstl的引入程式碼
<dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> <exclusions> <exclusion> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> </exclusion> </exclusions> </dependency>
意思為maven排除依賴jar處理,在下載其他依賴包時,不下載exclusion標註的jar
執行專案出現如下問題:
Servlet.service() for servlet jsp threw exception
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 deployed with this application
可能原因:無法訪問http://java.sun.com/jsp/jstl/core
我的是因為公司內網無法訪問,換成資料熱點即可訪問了
解決辦法:將jstl包放到tomcat的lib目錄下,或者更換網路(直至瀏覽器正常訪問http://java.sun.com/jsp/jstl/core這樣就不用再像上述那樣在pom檔案中新增包了)