web-dev-qa-db-ja.com

速度のヌルと空の文字列

速度には、値が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
24
Jordi P.S.

$!aがトリックを行います。 ifチェックなしでこのフォームを直接使用できます。

44
Irmak Cakmak

静かな参照表記が必要な場合:$!a

以下に例を示します。

This is the variable $!a.

$ aがnullまたは ""の場合、Velocityは以下をレンダリングします:

This is the variable .

公式ガイドセクション: https://velocity.Apache.org/engine/devel/user-guide.html#quietreferencenotation

19
DenisS

もう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
0
cameck