cannot be resolved in either web.xml or the jar files deployed with this application

web 开发 http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application

1.原先的项目中的带C的片段到新的项目中报错
: .org.apache.jasper.JasperException: /register.jsp (line: 10, column: 1) 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

尝试解决办法
1.引用一种方法测试。

可能是JSTL版本错误。 由于JSTL1.0和JSTL1.1的声明语句不一样。

JSTL 1.0 的声明是:
<%@ taglib prefix=”c” uri=”http://java.sun.com/jstl/core ” %>
JSTL 1.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”指名的就是版本号。

操作
打开MANIFEST.MF,只有

Manifest-Version: 1.0
Class-Path: 

与上文略有不符.对比:代码为http://java.sun.com/jsp/jstl/core,版本应为1.1
将其改成http://java.sun.com/jstl/core后测试,问题仍然存在。

2.可能为web-inf 下的lib没有包,将jstl.jar,standard.jar放在lib下
测试:将这两个包放入后成功。
注意:servlet版本与jstl标签库的jar的版本不匹配,会报错
According to TLD or attribute directive in tag file, attribute value does not ac

VersionJSTL versionRequirements
Standard 1.2JSTL 1.2 (not yet JCP approved)Servlet 2.5, JavaServer Pages 2.1
Standard 1.1JSTL 1.1Servlet 2.4, JavaServer Pages 2.0
Standard 1.0JSTL 1.0Servlet 2.3, JavaServer Pages 1.2

注意上表的对应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值