在freemarker中比较数字最优雅的是什么?
<#if (variable = 2) ></#if>
这不包括空检查?
如果我这样做
<#if (variable! = 2) ></#if>
然后freemarker会抱怨不同的类型。
我最终做了这个
<#if (variable!?html = "2") ></#if>
但我想这不是这样做的方法吗?如何在freemarker中将数字与空检查进行比较?
答案 0 :(得分:4)
如果变量为null,您希望发生什么?如果你想要那么假:
<#if variable?? && variable == 2 ></#if>
如果你想假设0:
<#if variable!0 == 2 ></#if>
注意:=
也有效,但这是一种不好的做法,因为表达式可能与命名参数赋值混淆。 ()
是多余的;它不像Java中那样。 ?html
意味着用于转义<
等等,但更糟糕的是,您触发了可能破坏比较的本地化格式。因此,如果你想做类似的事情,请改用?c
(* c * omputer格式化)。