Tengo una plantilla de Freemarker que contiene un grupo de marcadores de posición para los que se proporcionan valores cuando se procesa la plantilla. Quiero incluir condicionalmente parte de la plantilla si se suministra la variable userName, algo así como:¿Cómo comprobar si existe una variable en una plantilla de FreeMarker?
[#if_exists userName]
Hi ${userName}, How are you?
[/#if_exists]
Sin embargo, el manual FreeMarker parece indicar que if_exists está en desuso, pero no puedo encontrar otra manera de lograr este . Por supuesto, podría proporcionar una sencilla isUserName variable booleana adicional y el uso que de esta manera:
[#if isUserName]
Hi ${userName}, How are you?
[/#if]
Pero si hay una manera de comprobar si existe nomUsuario entonces puedo evitar la adición de esta variable adicional.
En caso de que alguien más haya sido expulsado por esto, la sintaxis #if debería estar rodeada de caracteres menores que y mayores que los corchetes. por ejemplo: <#if userName?> – Cameron
En realidad es posible usar esta sintaxis, así que simplemente seguí la sintaxis de la pregunta: ver http://freemarker.sourceforge.net/docs/dgui_misc_alternativesyntax.html –
This only compruebe si existe la var. Pero si tiene un String vacío en "userName", el <#if userName ??> ¡devolverá true! Consulte @ user1546081 respuesta en esta página para solucionar este problema. –