Notas complementarias sobre límites de variable

Predefinición de variable:#set ($valok = "hello foxdevelop")

Límite de variable ${} y diferencias de acceso con .

CódigoResultado renderizadoExplicación
$valokhello foxdevelopSalida básica de variable
$valok.comhello foxdevelop.comVelocity intenta invocar la propiedad/método cn del objeto valok; la cadena no dispone de ese método, se imprime la variable y el sufijo tal cual
${valok}.comhello foxdevelop.com{} delimita la variable. Una vez renderizada valok, se concatena el texto literal .com (sintaxis recomendada)
$!valok.comhellofoxdevelop.comReferencia silenciosa $!: funciona igual que $valok si existe la variable; devuelve cadena vacía en lugar de mostrar $xxx si no existe
${valok.com}vacíoIntenta leer la propiedad valok.com. La cadena no tiene esa propiedad, la variable no existe. Usa $!{valok.com} para obtener cadena vacía


${valok}.cn ✅ Concatenar variable + sufijo
${valok.cn} ❌ Acceder a la propiedad cn del objeto valok

Comillas simples / dobles & fusión de variables

CódigoResultado renderizadoExplicación
what$valokwhathello foxdevelopConcatenación directa, Velocity detecta automáticamente el límite de variable
what$"valok"what$»valok»❌ Sintaxis no válida. No se puede poner comilla justo después de $, no se interpreta la variable
what"$valok"what»hello foxdevelop«Las comillas son caracteres ordinarios dentro de plantilla, no activan análisis de cadena; la variable se resuelve correctamente
what'$valok'what’hello foxdevelopMismo comportamiento, las comillas simples son caracteres literales
$valokwhat$valokwhat❌ Variable no reconocida. Velocity toma valokwhat como nombre completo de variable y muestra el texto original si no la encuentra
${valok}whathello foxdevelopwhat✅ Las llaves delimitan la variable, soluciona la fusión entre variable y texto

Resumen

  1. Usa siempre ${nombreVariable} cuando la variable se une a otro texto
    Incorrecto:$valokwhat;Correcto:${valok}what
  2. Para añadir sufijo: escribe ${valok}.cn, no ${valok.cn}
  3. Referencia silenciosa $!variable: devuelve vacío si no existe la variable, no imprime $xxx
  4. Las comillas dentro del HTML de plantilla son caracteres normalesSolo dentro de asignaciones #set las comillas simples (no resuelven variables) y dobles (resuelven variables) tienen comportamiento distinto
#set($a = "$valok") // Comillas dobles: resuelve variable, a=hello bamn
#set($a = '$valok') // Comillas simples: no resuelve variable, a=$valokLenguaje del código: PHP (php)

Notas complementarias sobre límites de variable

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *