- Thymeleaf
-
Développeur Daniel Fernández Dernière version 1.1.2 (12 novembre 2011) [+/−] Écrit en Java Environnements Multiplate-forme (JVM) Type moteur de Template Licences Licence Apache 2.0 Site web thymeleaf.org modifier Thymeleaf est un moteur de template, sous licence Apache 2.0, écrit en Java pouvant générer du XML/XHTML/HTML5. Thymeleaf peut être utilisé dans un environnement web (utilisant l'API Servlet) ou non web. Son but principal est d'être utilisé dans une environnement web pour la génération de vue pour les application web basée sur le modèle MVC.
Sommaire
Caractéristiques
D'après le site du projet[1], les caractéristiques de Thymeleaf sont les suivantes :
- C'est moteur de template écrit en Java traitant les fichiers XML, XHTML et HTML5.
- Thymeleaf permet de traiter à la fois les fichiers appartenant à site web ou non. Il n'y a pas dépendance vis à vis de l'API Servlet.
- Thymeleaf est composé de plusieurs modules appelés dialecte :
- Les caractéristiques d'un dialecte (par exemple évaluation, itération, etc.) s'applique à travers les balises et/ou les attributs des templates.
- Deux dialectes sont disponibles : Standard et le SpringStandard (pour les applications Spring MVC mais en utilisant la même syntaxe que le dialecte Standard).
- Les développeurs peuvent étendre les fonctionnalités des dialectes proposés ou bien créer leur propre dialecte.
- Plusieurs modes de template sont disponibles :
- Le support de l’internationalisation des textes.
- La mise en œuvre d'un cache performant et configurable permet de réduire les entrées/sorties.
- Thymeleaf est extrêmement extensible et peut être utilisé comme framework de template.
- Une documentation très complète contenant de nombreux exemples est disponible.
Exemple
L'exemple ci-dessous produit une table dont le contenu des lignes provient d'une variable allProducts de type List<Product>.
<table> <thead> <tr> <th th:text="#{msgs.headers.name}">Name</th> <th th:text="#{msgs.headers.price}">Price</th> </tr> </thead> <tbody> <tr th:each="prod : ${allProducts}"> <td th:text="${prod.name}">Oranges</td> <td th:text="${#numbers.formatDecimal(prod.price,1,2)}">0.99</td> </tr> </tbody> </table>
Ce code met en évidence différentes caractéristiques de Thymeleaf :
- internationalisation par l'utilisation d'expression : #{ ... }
- évaluation d'expressions contenant des variables : ${ ... }
- fonction facilitatrice : #numbers.formatDecimal( ... )
Il est à noter que ce code HTML peut être afficher correctement directement par un navigateur sans utiliser Thymeleaf. C'est une caractéristique importante de Thymeleaf appelée template naturel.
Voir aussi
Liens externes
- site officiel de Thymeleaf
- Spring MVC view layer: Thymeleaf vs. JSP
- Tutorial: Using Thymeleaf
- Spring Framework
- FreeMarker
- Apache Velocity
References
Catégories :- Java
- Bibliothèque logicielle Java
- Framework de programmation
- Plateforme Java
- Technologie web
- Logiciel libre sous licence Apache
Wikimedia Foundation. 2010.