Les environnements de développement modernes (eclipse,
netbeans, etc.) offrent des outils
sophistiqués permettant d'assister
les développeurs dans leur travail et de leur simplifier les taches
manuelles
ou bavardes (la configuration par fichiers XML par exemple).
Avec la sortie d'eclipse Web Tools Project 2 (WTP), eclipse offre
aux développeurs travaillant avec JSF
une suite d'outils graphiques
permettant de simplifier et accélérer le développement.
Par exemple, WTP 2 offre:
Un éditeur graphique du fichier faces-config.xml (gestion
des managed beans, des navigation rules, etc.)
Un éditeur de pages web semi-wysiwyg (palette de
composants, property sheets, etc.)
etc.
Cependant, pour pouvoir utiliser WTP2, il faut d'abord le
configurer en définissant les implémentations JSF ou encore les
serveurs
où sera déployé l'application.
C'est dans ce cadre là que s'inscrit ce tutoriel, où il
s'agit de montrer pas à pas comment configurer WTP2 ainsi que
comment créer
son premier projet JSF.
Assurez-vous d'utiliser Web Tools Project
2.0.1 ou plus récent qui adressent de sérieux problèmes présents
dans la version 2.0.
II-C. Une implémentation JSF
JSF n'est qu'une spécification faisant partie de Java EE. Pour
pouvoir travailler avec, il vous
faut une implémentation
Voici quelques implémentations JSF gratuites et libres:
La RI de Sun (2 fichiers Jar) ne contient pas
une implémentation JSTL qui est nécessaire
à son fonctionnement.
Vous devez télécharger une implémentation JSTL vous même.
Pour vous simplifier la tache, vous pouvez télécharger
l'archive suivant
qui contient l'implémentation
Sun JSF 1.2 RI ainsi que toutes ses
dépendances.
III. Configuration d'eclipse Web Tools 2
La configuration de Web Tools ou plus précisément JSF
Tools passe par les étapes suivantes:
Dans eclipse, ouvrir le menu
Window, Preferences
Dans la boite de dialogue qui s'affiche, à gauche, naviguez dans
l'arbre des options jusqu'à
Web and XML, JavaServer Faces Tools, Libraries
.
Dans la vue qui s'affiche (à droite), cliquez sur le bouton
New
.
Entrez un nom (
Sun JSF RI 1.2
par exemple).
Sélectionnez 1.2 dans
version supported
.
Dans le volet
Library Jars
, cliquez sur le bouton
Add
.
Dans la boie de dialogue qui s'affiche, naviguez
jusqu'aux fichiers jar de l'implémentation JSF (ainsi que ses
dépendances).
Validez.
Vous pouvez suivre le déroulement des étapes dans la démo
Flash suivante:
Dans le but de simplifier les choses, et comme le montre la démo
précédente, j'ai inclus tous les fichiers jar
de l'implémentation JSF ainsi que ses dépendances dans une seule
bibliothèque.
Mais en général, mieux vaut les séparer dans plusieurs librairies.
Par exemple, dans ce cas de figure, il aurait été préférable de
créer trois librairies: Une pour JSF RI, une autre pour JSTL et une
dernière pour les fichiers jar de Jakarta commons.
IV. Création d'u projet JSF
Une fois WebTools configuré, vous pouvez créer des projets
JSF. Pour ce faire, il faut:
Dans eclipse, ouvrir le menu
File, New Project, Other
.
Dans la boite de dialogue qui s'affiche, sélectionnez
Dynamic Web Project
et cliquez sui
Next
.
Entrez un nom pour le projet.
Nous n'avons pas encore défini de serveur où l'on exécutera nos
projets JSF. Pour ce faire, cliquez sur le bouton
New
à droite de
Target Runtime
.
Dans la fenêtre qui s'affiche, sélectionnez le type du
serveur (Tomcat par exemple) et validez.
Eclipse vous demandera ensuite de spécifier l'emplacement du
serveur sélectionné. Cliquez sur
Browse
et naviguez jusqu'au répertoire d'installation du serveur et
validez.
Dans la liste déroulante
Configurations
, sélectionnez
JavaServer Face v1.2 Project
et cliquez sur
Next
.
Dans la page suivante, vous pouvez configurer les versions des
composants du projet comme la version de Java, de web.xml et de
JSF. Cliquez sur
Next
.
La page suivante permet de changer le nom des dossiers source et
WebContent. Cliquez sur
Next
.
La dernière page permet de spécifier l'implémentation JSF.
Sélectionnez celle qu'on a crée précedemment et Validez.
Assurez-vous que la case à cocher
Deploy
est active.
Vous pouvez suivre le déroulement des étapes dans la démo
Flash suivante: