我刚开始使用Freemarker生成电子邮件。
在数据模型中有is和get方法。 Freemarker首先自动调用is-method。
<#list MainSubject.bookingList as booking> <tr> <td>${booking_index + 1} ${booking.participant.name} </td> </tr> </#list>
有没有办法设置调用getter方法的优先级?
至少从2.3.27开始,没有切实可行的改变方法。 (我不认为修改BeansWrapper
是实际的。)isFoo()
或getFoo()
是否应该被称为obj.foo
由JavaBeans规范决定,更具体地说由java.beans.Introspector
决定,BeansWrapper
(以及DefaultObjectWrapper
)依赖于此。如果具有“is”和“get”方法的类的API不遵循JavaBeans规则,那么在其他地方也会导致类似的问题,因此最好的方法是修复该API。
一种可能的解决方法是直接在模板中调用getter方法,例如obj.getFoo()
(假设方法在该配置中公开)。