Comment gérer les valeurs null
dans Freemarker? Il y a des exceptions dans le modèle lorsque null
des valeurs sont présentes dans les données.
Vous pouvez utiliser l'opérateur de test ??
:
Ceci vérifie si l'attribut de l'objet n'est pas null:
<#if object.attribute??></#if>
Ceci vérifie si l'objet ou l'attribut n'est pas null:
<#if (object.attribute)??></#if>
Source: Manuel FreeMarker
À partir de freemarker 2.3.7, vous pouvez utiliser cette syntaxe :
${(object.attribute)!}
ou, si vous souhaitez afficher un texte par défaut lorsque l'attribut est null
:
${(object.attribute)!"default text"}
Je pense que ça marche dans l'autre sens
<#if object.attribute??>
Do whatever you want....
</#if>
Si object.attribute
n'est pas NULL, le contenu sera imprimé.
Utilisation ??
opérateur à la fin de votre <#if>
déclaration.
Cet exemple montre comment gérer les valeurs null
de deux listes dans un modèle Freemaker.
List of cars:
<#if cars??>
<#list cars as car>${car.owner};</#list>
</#if>
List of motocycles:
<#if motocycles??>
<#list motocycles as motocycle>${motocycle.owner};</#list>
</#if>