关于 EL 表达式的使用

今天在码的时候发现在 el 表达式中的两种使用方法,不知道能不能这么使用,但是没有报错,并且可以正确的获取到值。
第一种:图片描述

第二种:图片描述

这是细看最后的小计(只改了这一个),这么都可以获取到值,这两种有什么区别吗?(orderItem属性是私有的)

阅读 2.5k
3 个回答

图片描述

相信当你读到文档时(注意我选中部分),会知道,直接访问属性,不代表EL表达式有权限访问一个JavaBean的私有属性,而是通过自动调用getProperty方法来获取的数据。

在你的题目里,既然${orderItem.getSubtotal()}可用,说明你真的提供了getter方法,那自然也可以直接用属性名的方式获取数据了。

准确来讲,通过属性名获取,是通过getter方法获取数据的一个简写的语法糖罢了

文档地址:EL

其实第一种写法的具体实现也是调用getSubtotal()这个方法的,两者并没有什么区别

*.abc
*.getAbc()
没任何区别,.abc处理后还是变成了.getAbc()
这样得到一个结论,凡是有getter方法的都可以 .属性 来取值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏