允许执行此操作的框架实用程序/模式/语言是什么
What is the framework's utility / pattern / language that permits to do this
我使用这个功能已经有一段时间了,但不知道为什么我可以使用它:
在 jsp 页面中,为什么我可以在没有 'get' 部分的情况下调用 Dto 的 getter 方法?
例如,如果我的 Dto class PersonDto 有一个名为 getName() 的方法,在我的 jsp 中我可以这样做:
${person.name}
而不是这个:
${person.getName()}
是Spring 框架、MVC 模式、JSTL 还是它们的组合的特征?我在哪里可以研究这个论点?
这一切都可以追溯到 JavaBeans 规范,该规范要求对于名为 foo
的字段,必须有 setter setFoo()
和 getter getFoo()
(或 isFoo()
也允许用于布尔字段)。
这允许框架、模板语言和其他工具使用简化的语法,因为众所周知 bar.foo
意味着 bar.getFoo()
。
Is a characteristic of Spring framework, of MVC pattern, JSTL or a combination of them ?
None 个。它被称为EL (Expression Language)。
And where can I study this argument?
从 our EL wiki page 开始。
请注意,在 EL 2.2 版之前,${person.getName()}
语法是非法的。因此肯定不是 ${person.name}
比 ${person.getName()}
.
更新
另请参阅:
- Difference between JSP EL, JSF EL and Unified EL
- Invoke direct methods or methods with arguments / variables / parameters in EL
我使用这个功能已经有一段时间了,但不知道为什么我可以使用它: 在 jsp 页面中,为什么我可以在没有 'get' 部分的情况下调用 Dto 的 getter 方法?
例如,如果我的 Dto class PersonDto 有一个名为 getName() 的方法,在我的 jsp 中我可以这样做:
${person.name}
而不是这个:
${person.getName()}
是Spring 框架、MVC 模式、JSTL 还是它们的组合的特征?我在哪里可以研究这个论点?
这一切都可以追溯到 JavaBeans 规范,该规范要求对于名为 foo
的字段,必须有 setter setFoo()
和 getter getFoo()
(或 isFoo()
也允许用于布尔字段)。
这允许框架、模板语言和其他工具使用简化的语法,因为众所周知 bar.foo
意味着 bar.getFoo()
。
Is a characteristic of Spring framework, of MVC pattern, JSTL or a combination of them ?
None 个。它被称为EL (Expression Language)。
And where can I study this argument?
从 our EL wiki page 开始。
请注意,在 EL 2.2 版之前,${person.getName()}
语法是非法的。因此肯定不是 ${person.name}
比 ${person.getName()}
.
另请参阅:
- Difference between JSP EL, JSF EL and Unified EL
- Invoke direct methods or methods with arguments / variables / parameters in EL