今天在写 JavaWeb 作业的时候 ,使用EL 比表达式 一直报错
According to TLD or attribute directive in tag file, attribute test does not accept any expressions
具体错误如下
【解决】- According to TLD or attribute directive in tag file, attribute test does not accept any expre
代码
【解决】- According to TLD or attribute directive in tag file, attribute test does not accept any expre

很疑惑 ,仔细检查之后发现我的代码并没有写错 , 并且 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”%>

相关文章:

  • 2021-08-12
  • 2022-02-23
  • 2022-02-04
  • 2021-06-22
  • 2022-02-16
  • 2022-12-23
  • 2022-02-07
猜你喜欢
  • 2022-01-26
  • 2022-02-05
  • 2021-10-30
  • 2021-11-26
  • 2022-02-18
相关资源
相似解决方案