Framework JSF

Présentation Orale

Powerpoint de la présentation

Projet

Sources du projet

Introduction

Java Server Faces est un framework de développement d’applications Web en Java permettant de respecter le modèle d’architecture MVC et basé sur des composants côté présentation.

Ce que JSF permet :
- Une séparation de la couche présentation des autres couches (MVC).
- Un Mapping entre l’HTML et l’objet.
- Un ensemble de composants riches et réutilisables.
- Une liaison simple entre les actions côté client de l’utilisateur (event listener) et le code Java côté Serveur.
- Création de nouveaux composants graphiques.
- JSF peut-être utilisé pour générer autre chose que du HTML (XUL,XML,WML,…).

Fonctionnement

L’interface utilisateur construite dans la page JSP est générée à l’aide de la technologie JSF.

Elle fonctionne sur le serveur et le rendu est retourné au client.

JSF s’appuie sur les technologies précédentes :
- Génération en Servlet.
- Utilisation des composants JSF dans les pages JSP.
- Les composants JSF sont exposés aux JSPs grâce aux balises personnalisés.

Principe de traitement d'un formulaire

1. Construire le formulaire dans une page JSP en utilisant les balises JSF.
2. Développer un Bean qui effectue un « Mapping » avec les valeurs du formulaire.
3. Modifier le formulaire pour spécifier l’action et l’associer au Bean.
4. Fournir des Converters et des Validators pour traiter les données du formulaire.
5. Paramétrer le fichier faces-config.xml pour déclarer le Bean et les règles de navigation.
6. Créer les pages JSP correspondant à chaque condition de retour.
7. Protéger les pages JSP utilisées par le contexte JSF de façon à éviter d’y accéder directement.

Comparaisons JSF/Struts

Avantages

Possibilité de créer de nouveaux composants

Support différentes technologies d’affichage

Accès aux Beans par leurs noms en utilisant les Expressions Language

Simplification des définitions des contrôleurs et des Beans

Simplification du fichier de configuration

L’orientation composants graphiques permet à JSF d’être utilisé de manière plus simple dans les environnements de développement

Inconvénients

Maturité de Struts par rapport à JSF

Confusion des noms

La validation dans JSF n’est pas aussi fournie que Struts

Moins de documentation et de ressources