2017-12-15 9 views
0

私はFreemarkerを使用して電子メールを生成し始めました。Freemarkerはisとgetの間でコール優先度を設定します

データモデルには、isメソッドとgetメソッドがあります。 Freemarkerは最初に自動的にis-methodを呼び出します。

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

ゲッターメソッドを呼び出す優先度を設定する方法はありますか?

答えて

1

実際に変更する方法はありません。少なくとも2.3.27以降は変更することはできません。 (BeansWrapperを実際に変更することは考えていません)obj.fooisFoo()またはgetFoo()を呼び出すかどうかは、JavaBeans仕様でより具体的にはjava.beans.IntrospectorBeansWrapper(したがってDefaultObjectWrapper)によって決まります。 "is"メソッドと "get"メソッドの両方を持つクラスのAPIがJavaBeansのルールに従わない場合、同様の問題が他の場所で発生する可能性があるため、そのAPIを修正するのが最善の方法です。

可能な回避策は、obj.getFoo()のようなテンプレートで直接getterメソッドを呼び出すことです(その方法でメソッドが公開されていると仮定します)。

関連する問題