速度には、値がnullである変数があります。その場合、何も表示したくありません。
現在、テンプレートエンジンは ""をnullに変換するため、やらなければなりません。
#set ( $a = "")
#if ($a)
assert("never prints a neither gets here: " + $a)
#end
それを直接行う方法はありますか?私は次のようなものを作りたいと思います:
This is the variable $a. ## in case that $a is null i don't want 'dollar a' to be displayed
$!aがトリックを行います。 ifチェックなしでこのフォームを直接使用できます。
以下に例を示します。
This is the variable $!a.
$ aがnullまたは ""の場合、Velocityは以下をレンダリングします:
This is the variable .
公式ガイドセクション: https://velocity.Apache.org/engine/devel/user-guide.html#quietreferencenotation
もう1つの方法は、nullの確認ごとにif
ステートメントを変更することです(リンク@ xavi-に感謝します-ロペス):
アプローチ2:静かな参照ではnullが空の文字列として評価されるという事実を使用します。 (cf. http://velocity.Apache.org/engine/devel/user-guide.html#quietreferencenotation )
したがって、コードは次のようになります。
#set ( $a = "")
#if ("$a" != "")
assert("never prints a neither gets here: " + $a)
#end