IDEA使用c标签报错
先说我解决这个问题用的方法↓
首先把jstl-1.2.jar下WEB-INF的c.tld放到web项目的WEB-INF目录中,jsp中这样写↓↓(不需要在设置的Schemas and DTDs中添加URI)
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
然后在tomcat目录的lib文件夹中加入jstl-1.2.jar包
这样就不会在页面上报错了,也可以正常实现标签的功能。
(standard.jar貌似不需要)
虽然功能可以正常实现,但是在idea中报了很多警告,这有点头疼
警告内容有很多行
还有一个错误 java.io.FileNotFoundException: Could not resolve XML resource [null] with public ID [-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN], system ID [http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd] and base URI [jar:file:tomcat-9.0.27/lib/jstl-1.2.jar!/META-INF/c-1_0-rt.tld] to a known, local entity.
已经确定这个↑错误的解决方法↓
也就是Could not resolve XML resource [null] with public ID [-//Sun Microsystems, …
遇到这个错误的同学只需要在tomcat-x.x.x目录的conf文件夹内找到context.xml打开
在标签后面加上 xmlBlockExternal=“false”,如:
<Context xmlBlockExternal="false">
<!-- Default set of monitored resources. If one of these changes, the -->
<!-- web application will be reloaded. -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
</Context>
已经确定多行警告的原因↓↓
主要是jar包的版本问题
jstl-1.2.jar跟log4j-1.2.jar冲突(应该是log4j的版本过低
tomcat的lib里面我主要放了jdbc、Servlet、的jar
然后后面放的log4j的jar,没有冲突。
后来使用c标签放入了jstl的jar,产生了冲突。是跟log4j的冲突(或许?),我删了log4j的jar就不报警告了
附上警告信息