2

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

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

这将不包括空检查?

如果我这样做

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

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

我最终这样做了

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

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

4

1 回答 1

5

如果变量为空,你想发生什么?如果你想要那么假:

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

如果你想假设0:

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

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

于 2012-12-03T19:43:26.373 回答