今天在码的时候发现在 el 表达式中的两种使用方法,不知道能不能这么使用,但是没有报错,并且可以正确的获取到值。
第一种:
第二种:
这是细看最后的小计(只改了这一个),这么都可以获取到值,这两种有什么区别吗?(orderItem属性是私有的)
*.abc
*.getAbc()
没任何区别,.abc处理后还是变成了.getAbc()
这样得到一个结论,凡是有getter方法的都可以 .属性 来取值
相信当你读到文档时(注意我选中部分),会知道,直接访问属性,不代表EL
表达式有权限访问一个JavaBean
的私有属性,而是通过自动调用getProperty
方法来获取的数据。
在你的题目里,既然${orderItem.getSubtotal()}
可用,说明你真的提供了getter
方法,那自然也可以直接用属性名的方式获取数据了。
准确来讲,通过属性名获取,是通过getter
方法获取数据的一个简写的语法糖罢了
文档地址:EL
其实第一种写法的具体实现也是调用getSubtotal()
这个方法的,两者并没有什么区别