Compléments sur les limites de variable

Prédéfinition de variable : #set ($valok = "hello foxdevelop")

Limite de variable ${} et distinction d’accès avec .

CodeRenduExplication
$valokhello foxdevelopAffichage basique de variable
$valok.comhello foxdevelop.comVelocity tente d’appeler la propriété/méthode cn sur l’objet valok ; la chaîne ne possède pas cette méthode, la variable et le suffixe sont affichés bruts
${valok}.comhello foxdevelop.com{} verrouille la limite de la variable. Après rendu de valok, le texte littéral .com est concaténé (syntaxe recommandée)
$!valok.comhellofoxdevelop.comRéférence silencieuse $! : identique à $valok si la variable existe ; renvoie une chaîne vide au lieu d’afficher $xxx quand elle n’existe pas
${valok.com}videTentative de lecture de la propriété valok.com. La chaîne n’a pas cette propriété, la variable est absente. Utilisez $!{valok.com} pour obtenir une chaîne vide


${valok}.cn ✅ Concaténation variable + suffixe
${valok.cn} ❌ Accès à la propriété cn de l’objet valok

Guillemets simples / doubles & fusion de variables

CodeRenduExplication
what$valokwhathello foxdevelopConcaténation directe, Velocity détecte automatiquement la limite de variable
what$"valok"what$ »valok »❌ Syntaxe invalide. $ ne peut pas être suivi immédiatement par un guillemet, la variable n’est pas analysée
what"$valok"what »hello foxdevelop« Les guillemets sont de simples caractères dans le template, ils ne déclenchent pas de parsing de chaîne, la variable s’affiche normalement
what'$valok'what’hello foxdevelopMême principe, les apostrophes sont des caractères littéraux
$valokwhat$valokwhat❌ Variable non reconnue ! Velocity interprète valokwhat comme nom complet de variable, affiche le texte brut si introuvable
${valok}whathello foxdevelopwhat✅ Les accolades fixent la limite, résout le problème de fusion variable‑texte

Résumé

  1. Utilisez systématiquement ${nomVariable} quand une variable est collée à du texte
    Erroné : $valokwhat ; Correct : ${valok}what
  2. Pour ajouter un suffixe : écrivez ${valok}.cn, pas ${valok.cn}
  3. Référence silencieuse $!variable : renvoie du vide si la variable n’existe pas, n’affiche pas $xxx
  4. Les guillemets dans le HTML du template sont de simples caractères ; seul à l’intérieur d’un #set l’apostrophe (sans résolution de variable) et le guillemet double (résout la variable) ont un comportement différent
#set($a = "$valok") // Guillemets doubles : résout la variable, a=hello bamn
#set($a = '$valok') // Apostrophe : ne résout pas la variable, a=$valokLangage du code : PHP (php)

Compléments sur les limites de variable

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *