http://www.labo-sun.com
labo-sun@supinfo.com
Auteur : Olivier Smedile
Version n° 1.0 – 30 octobre 2006
Nombre de pages : 108
Ecole Supérieure d’Informatique de Paris
23. rue Château Landon 75010 – PARIS
www.supinfo.com
JSF
FRAMEWORK WEB
Table des matières
1. INTRODUCTION.................................................................................................................................................6
1.1. LIMITATIONS DU COUPLE SERVLET/JSP .........................................................................................................6
1.2. PRESENTATION DE JAVA SERVER FACES ........................................................................................................6
1.2.1. Public visé ................................................................................................................................................7
1.3. EVOLUTION DE JSF ..........................................................................................................................................7
1.4. DIFFERENCE AVEC STRUTS ..............................................................................................................................8
2. ARCHITECTURE DE JSF .................................................................................................................................9
2.1. INTEGRATION DE JSF DANS LARCHITECTURE DUNE APPLICATION JEE....................................................10
2.2. CYCLE DE VIE .................................................................................................................................................11
2.2.1. Restauration de la vue ...........................................................................................................................12
2.2.2. Application des paratres de la requête............................................................................................12
2.2.3. Validation des entrées utilisateurs........................................................................................................12
2.2.4. Mise à jour des valeurs du modèle .......................................................................................................12
2.2.5. Invocation de l’application ...................................................................................................................12
2.2.6. Rendu de la réponse ..............................................................................................................................12
3. DEVELOPPER EN JSF.....................................................................................................................................13
3.1. INSTALLATION DE JSF ...................................................................................................................................13
3.2. ACTIVATION DE JSF.......................................................................................................................................14
3.3. PAGES JSF ......................................................................................................................................................15
3.4. RESSOURCES NECESSAIRES............................................................................................................................15
3.5. DEPLOIEMENT ................................................................................................................................................16
3.5.1. JBoss .......................................................................................................................................................16
3.6. EXEMPLE ........................................................................................................................................................16
4. LES BRIQUES DE BASE..................................................................................................................................21
4.1. LES COMPORTEMENTS....................................................................................................................................22
4.2. LES COMPOSANTS GENERIQUES.....................................................................................................................23
4.2.1. L’attribut id ............................................................................................................................................24
4.2.2. L’attribut renderer.................................................................................................................................24
4.2.3. L’attribut immediate..............................................................................................................................24
4.3. LES COMPOSANTS HTML..............................................................................................................................24
4.3.1. Style CSS ................................................................................................................................................24
4.3.2. Classe CSS .............................................................................................................................................25
4.3.3. Escape.....................................................................................................................................................25
4.3.4. Evénements JavaScript..........................................................................................................................25
4.4. LIAISON COMPOSANTS ET JAVABEANS .........................................................................................................25
4.4.1. Valeur .....................................................................................................................................................26
4.4.2. Instance ..................................................................................................................................................26
4.5. UNIFIED EXPRESSION LANGUAGE .................................................................................................................27
4.5.1. Variables ................................................................................................................................................27
4.5.2. Objets implicites ....................................................................................................................................28
4.5.3. Opérateurs..............................................................................................................................................29
5. JSF TAG-LIB ......................................................................................................................................................30
5.1. VUE JSF..........................................................................................................................................................30
5.2. TEXTE SIMPLE.................................................................................................................................................30
5.3. LES COMPOSANTS DE SORTIES .......................................................................................................................30
5.3.1. Texte simple............................................................................................................................................31
5.3.2. Message formaté ....................................................................................................................................31
5.3.3. Label .......................................................................................................................................................32
5.4. FORMULAIRE ..................................................................................................................................................32
5.5. LES COMPOSANTS DENTREE .........................................................................................................................33
5.5.1. Champ texte............................................................................................................................................33
5.5.2. Champ texte sur plusieurs lignes ..........................................................................................................33
JSF - Framework Web
3 / 108
http://www.labo-sun.com
Ce document est la propriété de Supinfo et est soumis auxgles de droits d’auteurs
3
5.5.3. Champ de mot de passe .........................................................................................................................33
5.5.4. Champ caché..........................................................................................................................................34
5.6. LIEN ................................................................................................................................................................34
5.6.1. Lien simple .............................................................................................................................................34
5.6.2. Lien JSF..................................................................................................................................................35
5.6.3. Paramètres .............................................................................................................................................36
5.7. BOUTON..........................................................................................................................................................37
5.8. CHECKBOX .....................................................................................................................................................37
5.8.1. Checkbox simple ....................................................................................................................................37
5.8.2. Checkbox multiples................................................................................................................................37
5.9. RADIOBUTTON ...............................................................................................................................................41
5.10. LISTE.............................................................................................................................................................41
5.11. COMBO BOX .................................................................................................................................................42
5.12. IMAGE ...........................................................................................................................................................42
5.13. PANEL ...........................................................................................................................................................43
5.14. TABLEAU ......................................................................................................................................................43
5.14.1. Tableau statique : PanelGrid..............................................................................................................44
5.14.2. Tableau dynamique : DataTable ........................................................................................................46
5.15. MESSAGE DERREUR ....................................................................................................................................49
6. CONFIGURATION SERVEUR.......................................................................................................................52
6.1. DECLARATION DES JAVABEANS....................................................................................................................52
6.1.1. Déclaration des List...............................................................................................................................53
6.1.2. Déclaration des Maps............................................................................................................................53
6.1.3. Exemple : Déclaration d'une liste de SelectItem .................................................................................54
6.2. NAVIGATION...................................................................................................................................................56
6.2.1. Mapping global......................................................................................................................................57
6.2.2. Chaînes d’action ....................................................................................................................................57
6.2.3. Exemple ..................................................................................................................................................59
6.3. PARAMETRES DE CONTEXTE ..........................................................................................................................64
7. LES COMPORTEMENTS................................................................................................................................65
7.1. ACTIONLISTENER...........................................................................................................................................65
7.1.1. thode générique ................................................................................................................................65
7.1.2. Interface ActionListener ........................................................................................................................65
7.2. VALUECHANGE LISTENER .............................................................................................................................66
7.2.1. thode générique ................................................................................................................................66
7.2.2. Interface ValueChangeListener ............................................................................................................66
7.3. CONVERSIONS DE DONNEES...........................................................................................................................67
7.3.1. Conversion standard : Date ..................................................................................................................67
7.3.2. Conversion standard: Number..............................................................................................................68
7.3.3. Convertisseur personnalisé...................................................................................................................69
7.3.4. Convertisseurs pour une Liste d’éléments ...........................................................................................70
7.4. VALIDATION ...................................................................................................................................................74
7.4.1. Validateur personnalisé ........................................................................................................................75
7.4.2. Exemple : Validateur d’email ...............................................................................................................76
8. CONCEPTS AVANCES ....................................................................................................................................78
8.1. INTERNATIONALISATION................................................................................................................................78
8.1.1. Internationalisation dynamique ............................................................................................................79
8.1.2. Encodage................................................................................................................................................79
8.1.3. Exemple : Bouton de changement de langue .......................................................................................79
8.2. LA GESTION DES MESSAGES...........................................................................................................................81
8.2.1. Refaire les messages ..............................................................................................................................83
8.3. INTEGRATION JSF ET APPLICATION JEE.......................................................................................................84
8.3.1. Injection de ressource............................................................................................................................84
8.3.2. Injection dEJB ......................................................................................................................................84
8.3.3. Injection de WebService ........................................................................................................................85
JSF - Framework Web
4 / 108
http://www.labo-sun.com
Ce document est la propriété de Supinfo et est soumis auxgles de droits d’auteurs
4
8.3.4. Injection d’unité de persistance ............................................................................................................85
9. FACELETS ..........................................................................................................................................................86
9.1. INTRODUCTION...............................................................................................................................................86
9.2. CONFIGURATION ............................................................................................................................................87
9.2.1. Installation .............................................................................................................................................87
9.2.2. Structure d’un projet .............................................................................................................................87
9.2.3. Configuration .........................................................................................................................................87
9.3. CONCEPTS DE BASE ........................................................................................................................................88
9.3.1. Structure d’une page .............................................................................................................................88
9.3.2. JSFC .......................................................................................................................................................89
9.3.3. Template .................................................................................................................................................90
9.4. TEMPLATING DE VUE .....................................................................................................................................92
9.5. BALISES FACELETS ........................................................................................................................................96
9.5.1. Composition ...........................................................................................................................................96
9.5.2. Insert.......................................................................................................................................................98
9.5.3. Define .....................................................................................................................................................98
9.5.4. Decoration..............................................................................................................................................98
9.5.5. Include ..................................................................................................................................................100
9.5.6. Param ...................................................................................................................................................100
9.5.7. Remove .................................................................................................................................................100
9.5.8. Component ...........................................................................................................................................101
9.5.9. Fragment ..............................................................................................................................................101
9.5.10. Balises JSTL et Fonctions .................................................................................................................101
9.6. TEMPLATING DE COMPOSANTS ....................................................................................................................102
9.6.1. Le problème..........................................................................................................................................102
9.6.2. La solution avec Facelets....................................................................................................................102
9.6.3. TagFile .................................................................................................................................................103
9.7. PARAMETRES................................................................................................................................................106
10. BIBLIOGRAPHIE..........................................................................................................................................108
JSF - Framework Web
5 / 108
http://www.labo-sun.com
Ce document est la propriété de Supinfo et est soumis auxgles de droits d’auteurs
5
1 / 108 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !