Utiliser Thymeleaf th:object et syntaxe Asterisk *{ }
1. th:object et syntaxe Asterisk
Dans Thymeleaf, une expression variable a une syntaxe ${ }. De plus, *{ } est aussi une expression variable utilisée assez souvent. Dans cette leçon nous allons en apprendre plus à ce sujet.
La syntaxe de l'astérisque (Asterisk Syntax) évalue les expressions sur les objets sélectionnés plutôt que sur l'ensemble du contexte. Pour sélectionner un objet, utilisez l'attribut th:object. Voyons un exemple simple ci-dessous :
(Asterisk syntax)
<div th:object = "${person}" class="box">
<p><b>Full Name:</b> <span th:utext="*{fullName}"></span></p>
<p><b>Email:</b> <span th:utext="*{email}"></span></p>
</div>
C’est exactement l’équivalent de :
(Dollar syntax)
<div class="box">
<p><b>Full Name:</b> <span th:utext="${person.fullName}"></span></p>
<p><b>Email:</b> <span th:utext="${person.email}"></span></p>
</div>
Et bien sûr, vous pouvez mélanger la syntaxe de l'astérisque (Asterisk syntax) et la syntaxe dollar (Dollar syntax), par exemple :
(Mix syntax)
<div th:object = "${person}" class="box">
<p><b>Full Name:</b> <span th:utext="*{fullName}"></span></p>
<p><b>Email:</b> <span th:utext="${person.email}"></span></p>
</div>
Que se passe-t-il lorsque vous ne sélectionnez aucun objet, mais utilisez la syntaxe de l'astérisque *{ }, auquel cas ${ } et *{ } fonctionnent de la même manière.
<div class="box">
<p><b>Full Name:</b> <span th:utext="*{person.fullName}"></span></p>
<p><b>Email:</b> <span th:utext="*{person.email}"></span></p>
</div>
<!--/* Same as: */-->
<div class="box">
<p><b>Full Name:</b> <span th:utext="${person.fullName}"></span></p>
<p><b>Email:</b> <span th:utext="${person.email}"></span></p>
</div>
2. Spring Boot Form
Dans Spring Boot, lorsque vous manipulez Form, vous rencontrez très souvent la syntaxe de l'astérisque (Asterisk Syntax) :
(Form)
<form th:action="@{/register}" th:object="${appUserForm}" method="POST">
User Name:
<input type="text" th:field="*{userName}" />
<br/> Password:
<input type="password" th:field="*{password}" />
<br/> Confirm:
<input type="password" th:field="*{confirmPassword}" />
<br/> Email:
<input type="text" th:field="*{email}" />
<br/>
<input type="submit" value="Submit" />
</form>
Tutoriels Thymeleaf
- Opérateur Elvis dans Thymeleaf
- Boucles dans Thymeleaf
- Instructions conditionnelles If, unless, switch dans Thymeleaf
- Objets prédéfinis dans Thymeleaf
- Utiliser Thymeleaf th:class, th:classappend, th:style, th:styleappend
- Introduction à Thymeleaf
- Variable dans Thymeleaf
- Utiliser Fragments dans Thymeleaf
- Utiliser Layout dans Thymeleaf
- Utiliser Thymeleaf th:object et syntaxe Asterisk *{ }
- Exemple de Thymeleaf Form Select option
Show More