【问题标题】:How do I compare numbers with a null check in freemarker?如何将数字与 freemarker 中的空检查进行比较?
【发布时间】:2012-12-03 08:25:18
【问题描述】:

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

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

这不包括空检查吗?

如果我这样做

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

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

我最终这样做了

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

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

【问题讨论】:

    标签: freemarker


    【解决方案1】:

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

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

    如果你想假设为 0:

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

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

    【讨论】:

      猜你喜欢
      • 2011-03-22
      • 2019-04-12
      • 1970-01-01
      • 2017-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多