JSP使用JSTL时遇到的问题

本文解决了两个关于JavaServer Pages Standard Tag Library (JSTL)的问题:一是无法解析绝对URI的问题,通过调整URI声明从JSTL 1.0到JSTL 1.1的格式解决;二是属性值不接受表达式的问题,通过更改JSP版本或使用不同的taglib指令解决。
问题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
[size=large]问题原因:由于JSTL1.0和JSTL1.1的声明语句不一样。[/size]
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

[b][size=large]问题2相关问题链接为:[url]http://diystyle.iteye.com/blog/148699[/url][/size][/b]
问题2:According to TLD or attribute directive in tag file, attribute value does not accept any expressions
[size=large]问题原因:使用了JSP2.0版本[/size]
修改了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"%>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值