¿Cómo manejar los null
valores en Freemarker? Recibo algunas excepciones en la plantilla cuando los null
valores están presentes en los datos.
freemarker
Anand B
fuente
fuente
Respuestas:
Puede utilizar el
??
operador de prueba:Esto verifica si el atributo del objeto no es nulo:
Esto verifica si el objeto o atributo no es nulo:
Fuente: FreeMarker Manual
fuente
has_content
, junto a la comprobación de nulos, también comprueba si el valor no está vacío. Esto funciona para cadenas, secuencias, hashes o colecciones. Si el objeto es una fecha, un booleano o un número, entonces actúa como no vacío. Para todos los demás tipos, actuará como vacío.A partir de freemarker 2.3.7, puede utilizar esta sintaxis :
o, si desea mostrar un texto predeterminado cuando el atributo es
null
:fuente
<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.22</version></dependency>
a su pom.xml.${(object.dateAcquired?date)!"not present"}
${salutation!'Dear Mr. or Mrs.'}
Creo que funciona al revés
Si
object.attribute
NO es NULO, se imprimirá el contenido.fuente
Utilice el
??
operador al final de su<#if>
estado de cuenta.Este ejemplo demuestra cómo manejar
null
valores para dos listas en una plantilla de Freemaker.fuente
Si tiene muchas variables para convertir en opcionales, puede usar SubimeText con esto:
Asegúrese de que las opciones de expresiones regulares y que distingan mayúsculas de minúsculas estén habilitadas:
fuente