我有这个条件:
<#if tag.level?? && tag.level == "IMPORTANT">
是否有可能将其缩短为这样的东西?
<#if tag.level!"" == "IMPORTANT">
如果我试试这个
<#assign tag = {"bar": "AA"} >
${ ((tag.bar)!"x") = "x" }
我得到了
不能自动将布尔值转换为字符串,因为&#34; boolean_format&#34;设置为&#34; true,false&#34;,这是传统的默认计算机语言格式,因此不被接受。
答案 0 :(得分:0)
1)${ ((tag.bar)!"x") = "x" }
应该是${ ((tag.bar)!"x") == "x" }
。
2)使用内置显示布尔值,${ (((tag.bar)!"x") = "x")?c }
(如果你的Freemarker比2.3.20更新)或${ (((tag.bar)!"x") = "x")?string("true", "false") }
答案 1 :(得分:0)
这是您遇到的优先问题。这有效:
<#if (tag.level!"") == "IMPORTANT">
但是对于这种默认情况,有一种较短的形式:
<#if tag.level! == "IMPORTANT">