Comment gérer null
valeurs dans Freemarker ? Je reçois des exceptions dans le modèle lorsque null
sont présentes dans les données.
Réponses
Trop de publicités?A partir de freemarker 2.3.7, vous pouvez utiliser cette syntaxe :
${(object.attribute)!}
ou, si vous voulez afficher un texte par défaut lorsque l'attribut est null
:
${(object.attribute)!"default text"}
Vous pouvez utiliser le ??
opérateur de test :
Ceci vérifie si l'attribut de l'objet n'est pas nul :
<#if object.attribute??></#if>
Ceci vérifie si l'objet ou l'attribut n'est pas nul :
<#if (object.attribute)??></#if>
Source : Manuel de FreeMarker
Utilisez ??
à la fin de votre <#if>
déclaration.
Cet exemple montre comment traiter null
pour 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>
Je voudrais ajouter plus de contexte si vous avez des problèmes et c'est ce que j'ai essayé.
<#if Recipient.account_type?has_content>
… (executes if variable exists)
<#else>
… (executes if variable does not exist)
</#if>
Il s'agit plus d'un concept Javascript IF et ELSE où nous voulons vérifier si telle ou telle valeur s'enchaîne à travers la logique requise.
Scénario : Le client a un ID et un nom combinés comme suit 13242 Harish alors que notre partie prenante a besoin du seul nom, j'ai essayé ceci ${record.entity?keep_after(" ")} et cela a fonctionné, cependant, cela ne peut fonctionner que lorsque vous avez de l'espace, mais lorsqu'un client n'a pas d'espace et un nom, j'ai dû faire une condition IF ELSE pour vérifier la valeur Null.
- Réponses précédentes
- Plus de réponses