JSP使用JSTL时遇到的问题
问题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
问题原因:由于JSTL1.0和JSTL1.1的声明语句不一样。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" %>
我原来写的是uri="http://java.sun.com/jsp/jstl/core",后来改成uri="http://java.sun.com/jstl/core"后JSP就成功了
所以也可以判断我下载的jstl.jar是JSTL 1.0
问题2相关问题链接为:http://diystyle.iteye.com/blog/148699问题2:According to TLD or attribute directive in tag file, attribute value does not accept any expressions
问题原因:使用了JSP2.0版本修改了web.xml文档,我原来用的是2.5,后来改成2.3就可以了
这个问题还有一种解决办法是使用JSTL core RT库
JSTL core库的有两种taglib伪指令, 其中RT库即是依赖于JSP传统的请求时属性值, 而不是依赖于EL来实现(称为EL库.JSP2.0将支持EL)
将 <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
改为
<%@ taglib uri=http://java.sun.com/jstl/core_rt prefix="c"%>