【解决】- According to TLD or attribute directive in tag file, attribute test does not accept any expre

今天在写 JavaWeb 作业的时候 ,使用EL 比表达式 一直报错
According to TLD or attribute directive in tag file, attribute test does not accept any expressions
具体错误如下
在这里插入图片描述
代码
在这里插入图片描述

很疑惑 ,仔细检查之后发现我的代码并没有写错 , 并且 jstl 标签库导入的也没问题 . 最只能求助
百度 , 查了之后 发现是因为 jsp版本 我的是 4.0 ? 难道是因为不兼容 ? 下面是百度到的解决方

解决方法

问题原因:
因为使用了 JSP 2.0, 但又没有使用 JSTL 标签库的备用版本(RT库)
应用部署运行的时候出现JSP异常, 发生在使用JSTL库的时候: According to TLD or attribute directive in tag file, attribute value does not accept any expressions, 可能是因为使用了JSP2.0版本, 同时又没有使用JSTL core库的备用版本(RT库), 一种简单的解决方法是使用JSTL core RT库

JSTL core库的有两种taglib伪指令, 其中RT库即是依赖于JSP传统的请求时属性值, 而不是依赖于EL来实现(称为EL库.JSP2.0将支持EL)

JSP中使用<%@ taglib uri=http://java.sun.com/jstl/core prefix=“c”%>在2.3版本都可以,在2.4就不行了

解决方案:
方案1. 修改web.xml
将 web.xml 中的 声明由 2.4 或 2.5 版本的修改为 2.3 版本,如:


修改为:

方案2. 使用JSTL core RT库
JSTL 标签库的有两种 taglib 伪指令, 其中 RT 库即是依赖于 JSP 传统的请求时属性值, 而不是依赖于 EL 来实现:

只要将

<%@ taglib uri=“http://java.sun.com/jstl/core” prefix=“c”%>
改为

<%@ taglib uri=http://java.sun.com/jstl/core_rt prefix=“c”%>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兀坐晴窗独饮茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值