背景
在我的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">
出于某种原因,我的印象是 aSimpleScalar
是一种数字。谷歌搜索了一段时间后,我发现事实并非如此。
问题
为什么被"StoreCredit"
认为是freemarker.template.SimpleScalar
?
这就是 FTL 表示字符串的方式吗?
SimpleScalar
曾经用来表示字符串以外的东西吗?或者这只是一个用于其他用途的通用令牌。