JSF (JavaServer Faces) est un framework MVC basé sur les composants. Il est construit sur l’API Servlet et fournit des composants sous forme de bibliothèques de balises ressemblant très fortement à la
JSTL. Celles-ci peuvent être utilisées dans des pages JSP comme dans toute autre technologie de vue basée sur le Java, car le framework JSF ne limite pas le développeur à une technologie particulière pour la vue. Cependant, il existe une technologie
relativement récente baptisée la Facelet, qui fait partie du standard et qu’il est recommandé d’utiliser dès lors que l’on travaille avec JSF, celle-ci étant bien plus adaptée que les pages JSP : ces-dernières sont d’ailleurs considérées comme une technologie de présentation dépréciée pour JSF depuis la sortie de Java EE 6 en 2009.
Hormis les avantages inhérents à tout framework MVC basé sur les composants, que nous avons listés dans le chapitre précédent, JSF offre notamment de grandes capacités de création de templates (ou gabarits), telles que les composants composites.
Principe
JSF est un framework MVC, et propose en guise de contrôleur unique du cycle de vie du traitement des requêtes la FacesServlet.
JSF vous évite d’avoir à écrire le code – standard, passe-partout et pénible – responsable du regroupement des saisies utilisateurs
(paramètres de requêtes HTTP), de leur conversion & validation, de la mise à jour des données du modèle, de l’invocation
d’actions métiers et de la génération de la réponse. Ainsi vous vous retrouvez uniquement avec une page JSP ou une page
XHTML (une Facelet) en guise de vue, et un JavaBean en tant que modèle. Cela accélère le développement de manière
significative ! Les composants JSF sont utilisés pour lier la vue avec le modèle, et la FacesServlet utilise l’arbre des composants
JSF pour effectuer tout le travail.