Découverte de Freemarker Template

Freemarker est un moteur de Template basé sur l’architecture MVC (Model View Controller)
qui génère du texte dynamiquement à partir de templates sous format HTML, CSS,
code JAVA …

Templating

Freemarker est une librairie de classes JAVA plus souvent utilisé dans le développement
d’applications Web basées sur les servlets et présente les caractéristiques suivantes :

  • le Data Model contient une liste exhaustive de classes JAVA
  • la localisation et l’internationalisation (l10n, i18n) sont prises en compte
  • la librairie est configurable et utilisable avec d’autres Frameworks (Struts, ..)
  • la sortie texte est remplaçable par n’importe quel Writer (FileWriter, OutputStream, …)
  • les templates peuvent être chargées depuis une base de données, un fichier, un jar …
  • des namespaces existent pour permettre de créer et maintenir des macros ou avoir une séparation en modules
  • les JSP tag sont pris en compte

Des transformations sont permises pour échapper du code HTML, inclure du style ou des transformations
créées par les développeurs et plusieurs opérations sont permises :

  • Pour afficher une donnée il faut utiliser la syntaxe : ${variable}.
    Freemarker remplace la variable entre crochets par sa valeur réelle.
  • L’arithmétique : +, -, / exemple : ${2+4-6}
  • Les opérateurs logiques : &&, ||, <= etc.
  • Les inclusions de fichiers : #include "header.html"
  • Les commentaires : #this is a comment

Processing

Des directives existent pour utiliser des boucles (list), des instructions conditionnelles (if)
ou des affectations (assign).
Dans cet exemple, nous allons afficher la liste des pôles ainsi que de leurs membres avec
le fichier template helloworld.ftl :

HelloWorld

Le code source se trouve à l’adresse suivante : Code source sur Alfresco

Pour exécuter le jar, décompresser et exécuter cette commande au niveau de la console :
java -jar Freemarker-example1.jar
L’output text sera affiché en console et écrit dans le fichier files/helloworld.txt .

Comparaison de la Vue entre Freemarker, Velocity et JSP :

CompareView

Sources :
Site officiel de Freemarker

Blog sur Freemarker

Un commentaire

  1. I do accept as true with all of the concepts you have presented on your post. They are very convincing and will certainly work. Still, the posts are very short for starters. Could you please extend them a little from subsequent time? Thanks for the post.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.