背景
在我ftl
文件我有以下<#if>
聲明關於FTL的SimpleScalar的
<#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
是一種數字。谷歌搜索一段時間後,我發現情況並非如此。
問題
爲什麼"StoreCredit"
認爲是freemarker.template.SimpleScalar
?
這就是FTL代表字符串的方式嗎?
SimpleScalar
是否曾經用來表示除字符串之外的其他東西?或者這只是一個通用的標記,也適用於其他用途。
爲什麼需要一段時間才能找出哪個*'#if'導致問題?錯誤消息始終包含行號和列號以及失敗表達式的引用。如果它不刪除它,那麼... – ddekany