Je suis nouveau sur thymeleaf et je suis en train de convertir une page Web de jsp en thymeleaf. J'ai un tag comme ça
<c:set var="someVariable" value="${someValue}"/>
que la variable peut être utilisée n’importe où dans jsp. Existe-t-il de telles alternatives dans Thymeleaf?
Vous pouvez utiliser variables locales .
Déclarer un élément HTML avec un th:with
attribut. Par exemple
<div th:with="someVariable=${someValue}">
La documentation indique
Quand
th:with
est traité, que[someVariable]
variable est créée en tant que variable locale et ajoutée à la mappe de variables provenant du contexte, de sorte qu’elle soit aussi disponible pour évaluation que toute autre variable déclarée depuis le début dans le contexte, , mais uniquement dans les limites de la balise contenant.
Juste une note, si vous souhaitez affecter plusieurs variables, séparez-les par une virgule:
<div th:with="someVariable=${someValue},anotherVariable=${anotherValue}">
Voir le troisième exemple: section Variable locale de la documentation Thymeleaf
déclarer avec th:with="varName=${'str'}
ref avec dans src th:src="@{${varName}}"
plus en détail:
<head th:with="component =${'/static/component'}, bizJs = ${'/static/js/biz'}">
<span th:text="${component}"></span>
<script th:src="@{(${component})}"></script>
<script th:src="@{${bizJs} + '/static/js'}"></script>
</head>