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 ** 中找到,如下图:
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 ** 中找到,如下图: