バックグラウンド
私のftl
ファイルには、次の<#if>
ステートメントがありました
<#if payout.paymentType.name == "StoreCredit">
さて、そのステートメントは次のエラーを生成することがわかりました
Caused by: The only legal comparisons are between two numbers, two strings, or two dates.
Left hand operand is a freemarker.ext.beans.SimpleMethodModel
Right hand operand is a freemarker.template.SimpleScalar
これ <#if>
が問題の原因であることがわかるまでにしばらく時間がかかり、このように修正しました。
<#if payout.paymentType.name() == "StoreCredit">
SimpleScalar
どういうわけか、 aは数値の一種であるという印象を受けました。しばらくグーグルで調べたところ、そうではないことがわかりました。
質問
"StoreCredit"
と見なされるのはなぜfreemarker.template.SimpleScalar
ですか?
それはFTLが文字列を表現する方法ですか?
SimpleScalar
文字列以外のものを表すために使用されたことはありますか? または、これは他の用途にも使用される単なる一般化されたトークンですか。