J'ai été séduit par le Spring Framework et j'aimerais m'y plonger un peu plus. J'ai remarqué qu'à part les JSP classiques, il existe plusieurs moteurs de modèles à utiliser avec Spring MVC, tels que Vélocité y Freemarker . Y en a-t-il d'autres ? Lequel recommandez-vous ?
Réponses
Trop de publicités?Je suis Feuille de thym et je vous recommande d'y jeter un coup d'oeil.
Bien qu'elle ne soit pas exclusivement orientée SpringMVC (elle peut être utilisée sans cette bibliothèque), je l'ai conçue dès le départ pour être un remplacement agréable des options de vue actuelles de Spring MVC : Velocity, Freemarker... et surtout JSP.
Thymeleaf est facile à utiliser, élégant, compatible avec le XHTML et le HTML5, extrêmement extensible et il permet de créer des "modèles naturels", c'est-à-dire des modèles qui sont des pages parfaitement affichables par les navigateurs - parfaits pour le prototypage ! Thymeleaf vs JSP "Article déjà mentionné dans un autre commentaire.
Vous trouverez également un ensemble complet de didacticiels sur le site Web, ainsi que quelques petits articles qui vous aideront à comprendre les principes de base.
Jetez-y un coup d'oeil, et je pense honnêtement que vous ne reviendrez jamais à JSP ;-)
Regards.
Je préfère Velocity à Freemarker pour la clarté/simplicité de la syntaxe et le professionnalisme de la communauté. J'utilise aussi beaucoup la bibliothèque VelocityTools. Freemarker peut être un peu plus intimidant mais il est aussi totalement solide. Il lui manque VelocityTools, mais il compense par un support natif des bibliothèques de balises JSP.
L'un ou l'autre de ces langages de template est une grande amélioration par rapport à JSP/JSTL, si vous voulez mon avis.
Je n'ai pas encore cherché à l'utiliser avec Spring, mais je n'utiliserais pas d'autre moteur de modèle que StringTemplate (cf. http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf pour savoir pourquoi).
Si vous optez pour Spring, je trouverais le moyen de l'intégrer à StringTemplate, même si je soupçonne que cela a déjà été fait auparavant.
Si vous aimez le Scala langage de programmation que vous pourriez aimer Scalate car il vous permet d'utiliser de puissantes expressions Scala au lieu du langage d'expression EL limité de JSP/JSF/JSTL, tout en étant entièrement typé statiquement, de sorte que les modèles sont vérifiés au moment de la modification/compilation pour détecter les erreurs.
El Scaml dans Scalate vous permettent d'écrire des modèles vraiment DRY (les fans de Rails ont tendance à aimer Haml et Scaml est le portage Scala de Haml) - bien que si vous êtes habitué à JSP, vous feriez probablement mieux de commencer avec Ssp dans Scalate qui sont de type JSP.