在Idea中使用jstl标签时候经常出现500错误,
错误信息: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
jstl1.2包中就不需要在用standard包了,所以1.2版本的jar包只需要1个!
解决方法:
1.如果使用maven添加的依赖的话:
先查看输出文件中lib下有没有jstl.jar!如果有请跳至1.2!
这里是没有lib文件夹的默认情况下包的Scope都是compile的即编译和运行都需要依赖!(provided是编译时依赖,runtime是运行时依赖,test是测试)
这样情况下的部署后的WEB-INF/lib是有jar包的!(如果jstl是compile也没有,可以把Artifacts中项目删除重新添加,也可以手动put)
在Project Structure 中的Artifacts把jstl.jar put 到/WEB-INF/lib中
1.2:同时需要在项目的WEB-INF目录下复制一份使用的tld文件(这里是c.tld),也可以创建一个taglib文件存放。
这一步是必须的!
jstl中包含的全部tld 直接放入目录 放入taglib目录这样就能解决错误。
2.没有使用maven:
直接把jstl的jar包放到lib文件中。
同时也要把使用的tld文件拷贝到WEB-INF目录下一份。
不知道有没有更好的解决方法!
网友评论