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