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