在freemarker模板中,我想将布尔变量扩展为类似的字符串:
<#assign booleanVar = "test".isEmpty() />
state: ${booleanVar} <#-- this throws an exception! -->
这是我想要的输出:
state: false
我现在发现达到这个目标的唯一方法是:
state: <#if booleanVar>true<#else>false</#if>
有更简单的方法吗?
答案 0 :(得分:21)
答案 1 :(得分:4)
从FreeMarker 2.3.20开始,如果你想打印true / false(因为你正在生成JavaScript等),请写${booleanVar?c}
(?c
代表“计算机格式”,也用于数字)。 ${booleanVar?string}
对此很危险,因为有人可以将boolean_format
设置为yes,no
或其他......(顺便说一句,在这种情况下,${booleanVar}
也会在2.3.20中运行,你得到yes
和no
。)
请参阅:http://freemarker.org/docs/ref_builtins_boolean.html#ref_builtin_c_boolean