如何在freemarker中将数字与空检查进行比较?

时间:2012-12-03 08:25:19

标签: freemarker

在freemarker中比较数字最优雅的是什么?

<#if (variable = 2) ></#if>

这不包括空检查?

如果我这样做

 <#if (variable! = 2) ></#if>

然后freemarker会抱怨不同的类型。

我最终做了这个

<#if (variable!?html = "2") ></#if>

但我想这不是这样做的方法吗?如何在freemarker中将数字与空检查进行比较?

1 个答案:

答案 0 :(得分:4)

如果变量为null,您希望发生什么?如果你想要那么假:

<#if variable?? && variable == 2 ></#if>

如果你想假设0:

<#if variable!0 == 2 ></#if>

注意:=也有效,但这是一种不好的做法,因为表达式可能与命名参数赋值混淆。 ()是多余的;它不像Java中那样。 ?html意味着用于转义<等等,但更糟糕的是,您触发了可能破坏比较的本地化格式。因此,如果你想做类似的事情,请改用?c(* c * omputer格式化)。