使用Jstl异常:The absolute uri: http://java.sun.com/jsp/jstl/core cannot&nbs
错误提示是:
org.apache.jasper.JasperException: This absolute uri http://java.sun.com/jsp/jstl/core) cannot be resolved in either web.xml or the jar files deployed with this application
web项目出现如上问题,据查是版本问题:
JSTL 1.0
的声明是:
<%@ taglib prefix="c"
uri="http://java.sun.com/jstl/core " %>
JSTL1.1以后
的声明是:
<%@ taglib prefix="c"
uri=http://java.sun.com/jsp/jstl/core
%>
项目中,已经是 jstl 1.2 版本了,页面中也全部是用<%@ taglib prefix="c"
uri=http://java.sun.com/jsp/jstl/core
%>这种方式。javaee5之后就只有 jstl.jar
这一个jar包了,没有standard.jar包,tld文件也打包到jstl.jar里面去了,网上有一种说法是在web.xml文件里配置jsp-config的解决方式是没有用的。
最终查到问题的解决方法是: jstl.jar
包在ide项目中有,但在tomcat发布的应用WEB-INF/lib下没有,这是工具发布项目的问题,复制一个jstl.jar包到WEB-INF/lib下问题就解决了。
具体的操作方法是:找到ide中的jstl.jar包(一般在MyEclipse9.0安装目录\Common\plugins \com.genuitec.eclipse.j2eedt.core_9.0.0.me201103181703\data\libraryset \EE_5下),然后复制到WEB-INF/lib下,至此问题解决。
#################################
ide中jstl.jar包可以通过 右键项目/built path/configure built path /libraries 下的 java EE ** 中找到,如下图: