2

freemarkerで数値を比較する最もエレガントなものは何ですか?

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

これには null チェックは含まれませんか?

私がこれをしたら

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

次に、freemarker はさまざまなタイプについて文句を言います。

私はこれをやってしまった

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

しかし、これはそれを行う方法ではないと思いますか?freemarker で数値を null チェックと比較するにはどうすればよいですか?

4

1 に答える 1

5

変数が null の場合、どうしたいですか? 必要に応じてfalse:

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

0 と仮定したい場合:

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

注:=も機能しますが、式が名前付きパラメーターの割り当てと混同される可能性があるため、悪い習慣です。は()冗長です。Java とは異なります。?htmlエスケープ<などに使用することを意図していますが、さらに悪いことに、そこでローカライズされた書式設定をトリガーして、比較を台無しにする可能性があります。したがって、そのようなことをしたい場合は、代わりに?c(* c *computerformatting) を使用してください。

于 2012-12-03T19:43:26.373 に答える