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

问题描述 投票:0回答:1

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

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

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

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

java freemarker
1个回答
1
投票

至少从2.3.27开始,没有切实可行的改变方法。 (我不认为修改BeansWrapper是实际的。)isFoo()getFoo()是否应该被称为obj.foo由JavaBeans规范决定,更具体地说由java.beans.Introspector决定,BeansWrapper(以及DefaultObjectWrapper)依赖于此。如果具有“is”和“get”方法的类的API不遵循JavaBeans规则,那么在其他地方也会导致类似的问题,因此最好的方法是修复该API。

一种可能的解决方法是直接在模板中调用getter方法,例如obj.getFoo()(假设方法在该配置中公开)。

© www.soinside.com 2019 - 2024. All rights reserved.