web-dev-qa-db-fra.com

Comment puis-je appliquer un style à un div en fonction de la condition dans thymeleaf?

J'ai un <div> bloc que je dois définir sur display:none ou display:block en fonction de la condition. Le html ressemble à ceci,

<div style="display:none;"> 
    //some html block content
</div>

J'ai essayé le code suivant dans thymeleaf,

<div th:style="${condition} == 'MATCH' ? display:block : display:none"> 
    //some html block content
</div>

Mais l'expression ci-dessus ne fonctionne pas. jette org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: Message d'erreur.

Je peux faire th:classappend pour définir une classe et faire cela, mais je veux savoir si l'opérateur elvis/ternary prendra en charge sur thymeleaf th:style tag.

9
Lucky

Résolu en affichant la question,

th:style="${condition ? 'display:block' : 'display:none'}" >

produirait le style conditionnel nécessaire. Si la condition est vraie, l'affichage est réglé sur bloc et aucun si la condition est fausse.

Pour l'administrateur,

th:style="${role == 'ADMIN' ? 'display:block' : 'display:none'}" >

le style est défini sur display:block et pour les autres rôles, le bloc n'est pas affiché.

20
Lucky