Freemarker设置了is和get之间的呼叫优先级

时间:2017-12-15 17:06:28

标签: java freemarker

我刚开始使用Freemarker生成电子邮件。

在数据模型中有is和get方法。 Freemarker首先自动调用is-method。

<#list MainSubject.bookingList as booking> <tr> <td>${booking_index + 1} ${booking.participant.name} </td> </tr> </#list>

有没有办法设置调用getter方法的优先级?

1 个答案:

答案 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()(假设方法在该配置中公开)。