您的位置:首页 > 移动开发

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

2016-09-02 09:40 701 查看

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
注意上表的对应。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  web jar jsp
相关文章推荐