javax.el.PropertyNotFoundException: 类型[com.ytz.entity.Book]上找不到属性[author]

我在使用el表达式取值时出现了上述错误,如下是涉及到错误的代码:

前端:(部分)

<c:forEach items="${currBooks}" var="book"><tr><td><a href="">${book.bname}</a></td><td>${book.author}</td></tr></c:forEach>

实体类:(部分)

public class Book {private String bname;private String author;public String getBname() {return bname;}public void setBname(String bname) {this.bname = bname;}public String getAuther() {return author;}public void setAuther(String author) {this.author = author;}
}

出现问题时,我仔细查看了属性名,确认一致无误,而后发现author的getter()和setter()两个函数名是getAuther(),抱着试一试的心态,将两个函数修改了,如下:

  public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}

项目就可以跑了。

而后我查看了el表达式识别对象属性的原理:

以表达式${book.author}为例
EL表达式会去book类里寻找这个author的get方法,此时会自动把author首字母大写并加上get前缀,一旦找到与之匹配的方法,EL表达式就会认为这就是要访问的属性,并返回属性的值。
所以,想要通过EL表达式获取对象属性的值,那么这个属性就必须有与之对应的get方法。

由此,若出现如上错误,最好先查看对应类中的getter()函数,确保其格式是“get+属性名首字母大写”

el表达式找不到对象属性相关推荐

  1. el表达式找不到属性的错误修改方法(`javax.el.PropertyNotFoundException: 类型[java.lang.String]上找不到属性[book])

    el表达式找不到属性的错误修改方法 报错信息: javax.el.PropertyNotFoundException: 类型[java.lang.String]上找不到属性[book] 在网上查找了很 ...

  2. EL表达式的11隐含对象

    EL表达式在不同范围如何取值: <%pageContext.setAttribute("book", "红楼梦");request.setAttribut ...

  3. EL表达式的内置对象(待梳理)

    EL共有11个内置对象:其中1-10是Map对象,11是PageContext对象 1.param:Map<String,String>类型,可以用来获取参数,与request.getPa ...

  4. JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】...

    什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...

  5. JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】

    什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...

  6. JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】... 1

    什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...

  7. jsp java el_jsp之EL表达式

    EL表达式 1. 什么是EL表达式 jsp中的EL(express language)表达式技术:它仅仅是表达式. EL表达式的功能: 获取4个内置对象(域)中的数据,或自定义对象中的数据,或数组.集 ...

  8. JSP复习(二):EL表达式

    2019独角兽企业重金招聘Python工程师标准>>> EL表达式:从JSP2.0开始成为规范,是的原来用scriptlet和表达式完成的事情,EL都能完成 1.配置相关 ${app ...

  9. javaweb学习总结(二十九)——EL表达式

    一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...

最新文章

  1. 第二阶段冲刺——第三天
  2. C++ STL 逆转旋转 reverse reverse_copy rotate
  3. Win2000 DDK 附带例子概览(图解)
  4. 区块链BaaS云服务(37)荷兰Techruption 区块链
  5. python等差数列末项计算_Python 30道高频面试题及详细解答
  6. python模块之email: 电子邮件编码解码 (一、解码邮件)
  7. 使用webpack打包ES6代码
  8. CYP音乐emlog主题免费版 炫酷黑色主题
  9. 高一计算机信息与技术旅游,信息技术的发展与旅游信息系统的建设
  10. 台大李宏毅Machine Learning 2017Fall学习笔记 (12)Why Deep?
  11. java day65【视图[应用] 、索引[应用] 、pl/sql 基本语法[了解] 、存储过程[理解] 、 存储函数[理解]、 触发器[理解]、Java 程序调用存储过程[应用]】...
  12. sprint冲刺(第二天)
  13. 文华wh6如何修改服务器,文华财经 软件特色功能介绍修改
  14. Node.js使用npm下载第三方模块包步骤
  15. mysql.sock 是什么_mysql.sock到底存了什么信息?
  16. 英语之脆弱的,易受伤的
  17. MySQL8下载安装卸载教程
  18. vivo计算机的隐藏功能教程,Vivo手机的5个隐藏功能,真的很实用,一定要打开
  19. 安装和使用Hardinfo、Sysinfo、Lshw以在Linux上查找硬件规格
  20. C语言实现简单的图书馆小程序(练习指针和结构体的基本使用)

热门文章

  1. 微服务和分布式的联系与区别什么?
  2. 【论文】RAPiD: Rotation-Aware People Detection in Overhead Fisheye Images
  3. h5+js 移动端监听点击、移动、松开,获取鼠标位置
  4. 金牛女宝宝起名改名:书香气质的女孩名字,独特唯美
  5. Hadoop案例之单表关联输出祖孙关系
  6. 各浏览器性能分析工具
  7. 转互联网好难,如何避免无效转行?
  8. IF: 4+ 通过共表达网络鉴定急性心肌梗死患者血小板转录组关键基因模块和通路
  9. C#自带打包程序Installer-Project使用
  10. Android中WIFI常见的几种加密方式(详细)