web-dev-qa-db-fra.com

Nuls de vélocité et chaînes vides

En vitesse j'ai une variable dont la valeur est null. Je ne veux rien afficher dans ce cas.

Actuellement, le moteur de modèle traduit "" en null donc je dois le faire.

#set ( $a = "")
#if ($a) 
   assert("never prints a neither gets here: " + $a)
#end

Existe-t-il un moyen de le faire directement? J'aimerais pouvoir faire quelque chose comme:

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 fait l'affaire. Vous pouvez utiliser ce formulaire directement sans vérification if.

44
Irmak Cakmak

Vous voulez une notation de référence silencieuse: $! A

Voici votre exemple:

This is the variable $!a.

Si $ a est nul ou "", Velocity rendra:

This is the variable .

Section du guide officiel: https://velocity.Apache.org/engine/devel/user-guide.html#quietreferencenotation

19
DenisS

Une autre alternative consiste à modifier votre if instruction par Vérification de null (merci pour le lien @ xavi- lópez):

Approche 2: utilisez le fait que null est évalué comme une chaîne vide dans les références silencieuses. (cf. http://velocity.Apache.org/engine/devel/user-guide.html#quietreferencenotation )

Donc, votre code serait:

#set ( $a = "")
#if ("$a" != "") 
   assert("never prints a neither gets here: " + $a)
#end
0
cameck