Thymeleaf (1)
Thymeleaf (1)
Thymeleaf (1)
• <dependency>
– <groupId>org.thymeleaf</groupId>
– <artifactId>thymeleaf-spring5</artifactId>
– <version>3.0.11.RELEASE</version>
• </dependency>
Un premier Hello World avec Thymeleaf
Pour utiliser Thymeleaf dans une vue
• déclarer un espace de nom Thymeleaf
• utiliser cet espace de nom comme attribut de balise HTML
Ou aussi
Operateurs d’égalité
• égal : == ou eq
• inégal : != ou neq ou ne
Les expressions
Operateurs arithmétiques
• addition : +
• soustraction : -
• multiplication : *
• division : / ou div
• reste de la division : % ou mod
• index commence de 0
• count commence de 1
Les expressions
On peut aussi faire (le résultat est le même)
<div th:each="perso : ${ personnes }">
<span th:text="${ persoStat.index }"></span>
<span th:text="${ persoStat.count }"></span>
<span th:text="${ perso.nom }"></span>
<span th:text="${ perso[’prenom’] }"></span>
</div>
Remarque
Il existe plusieurs autres attributs Thymeleaf qui permet de
cibler plusieurs autres attributs HTML
Les expressions
Autres attributs
• Pour l’attribut class, on peut utiliser th:class
• Pour les formulaires, on peut utiliser th:action,
th:method...
• Pour les input, on peut utiliser th:value, th:name... ...
Si on ignore l’existence d’un attribut Thymeleaf
ciblant un attribut HTML
On peut utiliser
th:attr="nomAttribut=${ valeurAttribut }"
Les expressions
Pour afficher le contenu d’un objet de la classe
Personne
<div>
<span th:text="${ personne.num }"></span>
<span th:text="${ personne.nom }"></span>
<span th:text="${ personne.prenom }"></span>
</div>
Les expressions
On peut aussi simplifier l’écriture en utilisant
l’expression de sélection *{ }
<div>
<span th:text="${ personne.num }"></span>
<span th:text="${ personne.nom }"></span>
<span th:text="*{ personne.prenom }"></span>
</div>
Les expressions
Pour définir un lien avec Thymeleaf
<a th:href="@{ thymeleaf }">Thymeleaf</a>
<!-- En HTML, <a href=thymeleaf>Thymeleaf</a> -->
<!DOCTYPE html>
<html xmlns:th="www.thymeleaf.org">
<body>
<div id="premierMenu">
<ul>
<li><a href="">Item 1</a>
<li><a href="">Item 2</a>
<li><a href="">Item 3</a>
</ul>
</div>
</body>
</html>
Les expressions
Pour inclure ce fragment dans les autres vues :