Développez une variable booléenne à la chaîne “true” ou “false”
Dans le template freemarker je veux développer une variable booléenne pour une chaîne comme ça:
<#assign booleanVar = "test".isEmpty() />
state: ${booleanVar} <#-- this throws an exception! -->
C'est ce que je veux obtenir en sortie:
state: false
La seule façon que j'ai trouvée pour atteindre cet objectif maintenant est:
state: <#if booleanVar>true<#else>false</#if>
Est-il un moyen plus facile de le faire?
OriginalL'auteur tangens | 2009-10-02
Vous devez vous connecter pour publier un commentaire.
Bien que vrai/faux est par défaut, donc
devrait fonctionner correctement.
J'ai relu ce lien... Modifié le $? dans l'exemple. Je ne sais pas freemarker 🙂
À partir de FreeMarker 2.3.20, vous devez utiliser
${booleanVar?c}
. Le simple fait d'écrire${booleanVar?string}
est dangereux, comme le format par défaut peut être changé. Voir ma réponse pour plus de détails.OriginalL'auteur tsilb
À partir de FreeMarker 2.3.20, si vous souhaitez imprimer des vrai/faux (parce que vous êtes génération de JavaScript ou tel), écrire
${booleanVar?c}
(?c
pour "support informatique", également utilisé pour les nombres).${booleanVar?string}
est dangereux pour que, depuis que quelqu'un peut définir laboolean_format
paramètreyes,no
ou quelque chose... (d'ailleurs, dans ce cas${booleanVar}
sera trop de travail dans 2.3.20, et vous obtenezyes
etno
.)Voir: http://freemarker.org/docs/ref_builtins_boolean.html#ref_builtin_c_boolean
OriginalL'auteur ddekany