JSF 2 avec Eclipse
Transcription
JSF 2 avec Eclipse
JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition) Applications web, servlets et JSP 1. Introduction 15 2. Rappels sur la notion d'application web 15 2.1 Éléments constitutifs d'une application 2.2 Vie d'une application 3. Les servlets 15 16 16 3.1 Présentation 3.2 Cycle de vie 3.3 Cas particulier des servlets répondant spécifiquement au protocole HTTP 4. La technologie Java Server Pages (JSP) 4.1 Une brève description du mode de fonctionnement 4.2 Les composants d'une page JSP 4.2.1 Les directives 4.2.2 Les actions 4.2.3 Les objets implicites 4.2.4 Les scripting JSP 16 17 18 18 18 19 20 21 24 25 5. Le concept MVC 26 6. Installation de l'environnement Eclipse et configuration d'une application web 27 6.1 Choix d'une implémentation JSF 6.2 Téléchargement de la bibliothèque JSTL 6.3 Installation et configuration d’Eclipse 27 28 28 Langage d'évaluation d'expressions 1. La technologie Java Server Faces www.editions-eni.fr 33 © Editions ENI 1/12 JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition) 2. Principe du langage d'évaluation d'expressions 34 3. Le cycle de vie à phases multiples d'une page JSF 35 3.1 Principe 3.2 Présentation des différentes phases 3.2.1 Phase n°1 : Restitution de la vue (Restore View) 3.2.2 Phase n°2 : Application des paramètres de requête (Apply Request Values) 3.2.3 Phase n°3 : Processus de validation (Process Validations) 3.2.4 Phase n°4 : Mise à jour du modèle (Update Model Values) 3.2.5 Phase n°5 : Appel de l'application (Invoke Application) 3.2.6 Phase n°6 : Restitution de la réponse (Render Response) 4. Deux types d'évaluation d'expressions 35 36 36 37 38 38 38 38 39 4.1 Évaluation instantanée d'une expression 4.2 Évaluation différée d'une expression 39 41 5. Utilisation d'expressions pour accéder aux propriétés d'un objet 42 6. Utilisation d'expressions pour accéder aux méthodes d'un objet 44 7. Expressions avec opérateurs 46 Les bibliothèques de balises JSF 1. Principaux éléments de la bibliothèque HTML 1.1 Principaux attributs communs aux balises de la bibliothèque HTML 1.2 Présentation des balises et de leurs principaux attributs spécifiques 1.2.1 Balise column 1.2.2 Balise commandButton 1.2.3 Balise form 1.2.4 Balise inputHidden 1.2.5 Balise inputSecret www.editions-eni.fr © Editions ENI 49 49 50 50 50 51 51 53 2/12 JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition) 1.2.6 Balise inputText 1.2.7 Balise inputTextArea 1.2.8 Balise message 1.2.9 Balise messages 1.2.10 Balise outputLink 1.2.11 Balise outputText 1.2.12 Balise panelGrid 1.2.13 Balise selectBooleanCheckbox 1.2.14 Balise selectManyCheckbox 1.2.15 Balise selectOneListbox 1.2.16 Balise selectManyListbox 1.2.17 Balise selectOneMenu 1.2.18 Balise selectManyMenu 1.2.19 Balise selectOneRadio 2. Principaux éléments de la bibliothèque Core 2.1 Balise actionListener 2.2 Balise convertDateTime 2.2.1 Attribut dateStyle 2.2.2 Attribut pattern 2.2.3 Attribut timeStyle 2.2.4 Attribut type 2.3 Balise convertNumber 2.3.1 Attribut pattern 2.3.2 Attribut type 2.4 Balise converter 2.5 Balise loadBundle 2.5.1 Attribut baseName 2.5.2 Attribut var 2.6 Balise selectItem 2.6.1 Attribut itemDisabled 2.6.2 Attribut itemLabel 2.6.3 Attribut itemValue 2.7 Balise selectItems 2.8 Balise validateDoubleRange 2.9 Balise validateLength www.editions-eni.fr 53 53 54 54 54 55 55 56 56 58 58 59 60 60 60 60 61 61 61 61 62 62 62 62 62 63 63 63 63 64 64 64 64 64 65 © Editions ENI 3/12 JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition) 2.10 Balise validateLongRange 2.11 Balise validator 2.12 Balise valueChangeListener 2.13 Balise view 2.13.1 Attribut before Phase 2.13.2 Attribut AfterPhase 65 66 66 67 67 67 3. Diagramme de classes relatif aux composants standards JSF 68 Composition d'une application JSF 1. Introduction 69 2. Description de l'application JSF à développer 69 3. Architecture et fichiers de configuration 72 3.1 Architecture d'une application JSF 3.2 Fichiers de configuration des ressources d'une application JSF 3.2.1 Localisation du/des fichier(s) de configuration des ressources 3.2.2 Mode d'exploitation 3.2.3 Types de ressources configurables 4. Étapes à respecter pour la création d'une application JSF 4.1 Création d'une instance de la FacesServlet 4.2 Création des pages web 4.2.1 Déclaration des bibliothèques de balises Java Server Faces 4.2.2 Positionnement des balises view et form 4.2.3 Ajout de composants graphiques dans une page web 5. Les composants graphiques 85 85 87 87 88 88 92 5.1 Classes correspondant aux composants graphiques 5.2 Interfaces mises en œuvre par les composants graphiques www.editions-eni.fr 72 74 74 75 77 © Editions ENI 93 99 4/12 JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition) 6. La gestion du rendu : notion de renderer 6.1 Intérêt de la gestion du rendu 6.2 Kit de rendu - Classes de rendu 6.3 Bibliothèque de balises pour le rendu des composants 7. Validation de données 101 101 102 102 107 7.1 Principe de fonctionnement de la validation 7.2 Différents types de validateurs 7.3 Exemple d'utilisation d'un validateur 8. Conversions de données 107 108 108 109 8.1 Pourquoi parler de conversion de données ? 8.2 Conversions implicites et spécifiques 8.3 Convertisseurs standards et convertisseurs personnalisés 8.4 Exemple d'utilisation d'un convertisseur 9. Gestion des événements 109 110 111 112 113 9.1 Principes mis en œuvre dans la gestion événementielle avec JSF 9.2 Deux types d'événements exploitables 9.3 Rôle de la propriété "immediate" des composants générateurs d'événements 9.4 Réaction aux événements 10. Utilisation de messages 113 114 114 115 115 10.1 Génération des messages d'erreur issus des processus de validation ou de conversion 10.2 Affichage de messages dans l'interface web 10.3 Surcharge des informations contenues dans les FacesMessage 10.4 Les groupes de messages 10.5 Regroupement des contenus de messages dans des fichiers de ressources 11. Déclaration et configuration de beans managés 11.1 Création d'une classe de bean s'exécutant côté serveur www.editions-eni.fr © Editions ENI 115 116 117 118 119 121 121 5/12 JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition) 11.2 Configuration d'un bean managé 11.3 Utilisation du langage d'expressions pour exploiter les beans managés 12. Navigation entre les pages 124 126 128 12.1 Définition de règles de navigation 12.2 Utilisation de la navigation simple 12.3 Utilisation de la navigation dynamique 12.4 Rôle des instances par défaut de ActionListener et de NavigationHandler dans la navigation dynamique 12.5 Particularités de la navigation JSF 2.x 12.5.1 Navigation implicite 12.5.2 Navigation conditionnelle 13. Arbre de composants et cycle de vie d'une page JSF 13.1 Les différents types de requêtes et leur mode de prise en charge 13.1.1 Les objets FacesContext et FacesContextFactory 13.1.2 Traitement d'une requête initiale 13.1.3 Traitement des requêtes visant des ressources externes à l'application 13.2 Les différentes phases du cycle de vie 13.2.1 La phase Restore View 13.2.2 La phase Apply Request Values 13.2.3 La phase Process Validations 13.2.4 La phase Update Model Values 13.2.5 La phase Invoke Application 13.2.6 La phase Render Response 14. Code source de l'application illustrant le chapitre 128 132 132 134 135 135 136 139 140 140 141 141 141 142 142 143 144 145 145 146 Exploitation des composants standards JSF 1. Description de l'environnement Eclipse pour JSF 1.1 La zone d'édition 1.1.1 Édition d'une page JSP www.editions-eni.fr 149 149 150 © Editions ENI 6/12 JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition) 1.1.2 Édition du fichier de configuration des ressources des applications web 152 1.2 La vue Project Explorer 158 1.3 La vue Outline 159 1.4 La vue Servers 159 1.4.1 Adaptateurs de serveurs 160 1.4.2 Configuration des serveurs 161 1.5 La vue Properties 162 1.5.1 Affichage des propriétés de composants de type HTML ou JSF 162 1.5.2 Affichage des propriétés de composants issus des catégories JSF Core et JSF HTML 163 1.6 La vue Data Source Explorer 164 1.6.1 Accès aux bases de données 164 1.6.2 Accès à d'autres types de sources de données 165 2. Ajout de composants graphiques à une page 2.1 Classes et balises de restitution 2.2 Principaux attributs de balises communs 2.2.1 Attributs communs à l'ensemble des balises de restitution 2.2.2 Attributs communs aux seules balises de restitution correspondant à des champs de saisie 2.3 Intégration des composants graphiques dans les pages JSP 2.3.1 Intégration du composant correspondant au formulaire de saisie 2.3.2 Intégration d'une grille de présentation 2.3.3 Intégration d'un texte simple et d'une zone de texte à ligne unique 2.3.4 Intégration d'une zone de mot de passe et d'un message 2.3.5 Intégration de boutons radio 2.3.6 Intégration d'une zone de liste déroulante à choix unique 2.3.7 Intégration d'une zone de texte multiligne 2.3.8 Intégration d'un bouton de soumission 3. Exploitation des validateurs standards 167 170 171 176 187 187 188 189 189 191 192 193 193 194 3.1 Les différents types de validateurs et leur mode d'utilisation 3.1.1 Description des validateurs 3.1.2 Composants supportant les validateurs www.editions-eni.fr 165 © Editions ENI 194 194 195 7/12 JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition) 3.1.3 Mode d'utilisation des validateurs 3.2 Contrôler la longueur d'une chaîne de caractères 3.3 S'assurer qu'une valeur numérique est comprise entre deux bornes 3.3.1 Exemple d'utilisation d'un LongRangeValidator 3.3.2 Exemple d'utilisation d'un DoubleRangeValidator 4. Exploitation des convertisseurs standards 4.1 Les différents types de convertisseurs et leur mode d'utilisation 4.1.1 Description des convertisseurs 4.1.2 Composants supportant les convertisseurs 4.1.3 Mode d'utilisation des convertisseurs 4.2 Conversion des valeurs numériques 4.2.1 Propriétés utilisées dans ce type de conversion 4.2.2 Mode de fonctionnement de la conversion 4.2.3 Exemple d'utilisation d'un NumberConverter 4.3 Conversion de la date et de l'heure 4.3.1 Propriétés utilisées dans ce type de conversion 4.3.2 Mode de fonctionnement de la conversion 4.3.3 Exemple d'utilisation d'un DateTimeConverter 5. Association d'écouteurs aux composants présents dans la page 5.1 Prise en charge des événements par un écouteur 5.1.1 Utiliser un écouteur prenant en charge les ActionEvent 5.1.2 Utiliser un écouteur prenant en charge les ValueChangeEvent 5.2 Associer plusieurs écouteurs à un unique composant 5.3 Gestion des événements par l'exploitation d'une méthode de JavaBean 6. Liaison de composants à des beans managés 6.1 Lier un composant à l'une des propriétés d'un bean managé 6.1.1 Liaison en écriture (sauvegarde des données de formulaires) 6.1.2 Liaison en lecture 6.2 Liaison à des méthodes de beans managés 7. Liaison de composants à des sources de données externes www.editions-eni.fr © Editions ENI 195 196 198 199 200 200 200 200 201 202 203 203 203 205 206 206 206 208 211 211 211 213 214 215 218 218 219 221 222 224 8/12 JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition) Convertisseurs et validateurs 1. Création d'un convertisseur personnalisé 1.1 Définition de la classe représentant le convertisseur personnalisé 1.2 Déclaration du nouveau convertisseur 1.2.1 À partir de JSF 1.2 1.2.2 À partir de JSF 2.0 1.3 Faire appel au nouveau convertisseur dans les pages web 2. Création d'un validateur personnalisé 229 230 234 234 235 236 237 2.1 Définition de la classe représentant le validateur personnalisé 2.2 Déclaration du nouveau validateur 2.2.1 À partir de JSF 1.2 2.2.2 À partir de JSF 2.0 2.3 Faire appel au nouveau validateur dans les pages web 239 243 243 244 245 Composants graphiques personnalisés 1. Introduction 247 2. Élaboration des classes régissant le comportement des nouveaux composants 248 2.1 Création d'un composant destiné à l'affichage simple (lecture seule) 249 2.1.1 Si le composant gère lui-même sa restitution graphique 249 2.1.2 Si le composant délègue sa restitution graphique à un Renderer spécifique 250 2.2 Création d'un composant permettant la saisie d'informations 253 2.3 Permettre la prise en charge des attributs de balise 256 2.4 Déclaration des nouveaux composants dans le fichier de configuration des ressources de l'application 257 3. Définition de balises de composants personnalisés 3.1 Mise en place d'un fichier TLD (Tag Library Descriptor) 3.2 Définition d'un TagHandler associé à la balise représentant un composant www.editions-eni.fr © Editions ENI 258 259 261 9/12 JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition) 3.2.1 Méthodes assurant la liaison avec un composant graphique et un Renderer 261 3.2.2 Méthodes permettant la prise en charge des attributs de balise 262 4. Constitution du rendu des composants personnalisés 265 4.1 Définition d'une classe représentant un Renderer personnalisé 265 4.2 Déclaration du nouveau Renderer dans le fichier de configuration des ressources de l'application 267 5. Définition des événements associés aux nouveaux composants 5.1 Développement du gestionnaire d'événements 5.2 Modification de la TLD 5.3 Modification du TagHandler 268 269 270 271 6. Permettre l'utilisation des nouveaux composants dans les pages JSP d'une application 272 Internationalisation d'une application web 1. Mécanismes mis en œuvre dans le cadre du multilinguisme 1.1 La classe Locale 1.1.1 Description 1.1.2 Utilisation dans le cadre de la création d'applications web 1.2 La classe ResourceBundle et ses dérivées 1.2.1 Description 1.2.2 Utilisation dans le cadre de la création d'applications web 1.3 La classe NumberFormat 1.3.1 Description 1.3.2 Utilisation dans le cadre des applications web 1.4 La classe DateFormat 1.4.1 Description 1.4.2 Utilisation dans le cadre des applications web 2. Externalisation des libellés et des messages dans une application web www.editions-eni.fr © Editions ENI 275 276 276 277 278 278 282 283 283 284 284 284 285 286 10/12 JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition) 2.1 Définir plusieurs fichiers de libellés 286 2.2 Utilisation de la langue définie par défaut dans le navigateur 287 2.3 Permettre l'exploitation de ces fichiers dans l'application web 288 2.3.1 Les dialectes supportés 288 2.3.2 Déclaration de ResourceBundle associés aux fichiers de libellés 290 2.4 Permettre à l'utilisateur de sélectionner dynamiquement un langage 292 2.4.1 Contenu des fichiers de libellés 293 2.4.2 Construire la page JSP 293 2.4.3 Définir une classe contenant une méthode chargée de modifier le langage par défaut 294 3. Formatage des nombres et des dates 296 Facelets 1. Présentation de Facelets 297 2. Création de templates de pages web 298 2.1 Définition d'un modèle de pages 2.2 Définition d'une page cliente d'un modèle 3. Apports dans la création de composants personnalisés 300 302 303 3.1 Définition de l'apparence du composant 3.2 Définition d’une bibliothèque de balises 3.3 Déclaration d'une bibliothèque de balises 305 307 308 4. Création et exploitation de composants composites 309 4.1 Définition des modalités d'utilisation et de l'apparence du composant composite 4.2 Interface du composant 4.3 Implémentation du composant 4.4 Création d'une page exploitant un composant composite www.editions-eni.fr © Editions ENI 309 312 313 313 11/12 JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition) 5. Prise en charge des paramètres de la requête HTTP 5.1 Cas concret d'application 5.2 Récupération et exploitation des paramètres de la requête 6. Utilisation d’Ajax 315 315 316 320 6.1 Composants JSF capables de prendre en charge Ajax 6.2 Comportement côté client 6.3 Exemple de page web exploitant Ajax 6.3.1 Import obligatoire d'une bibliothèque JavaScript pour JSF 6.3.2 Balise <f:ajax> 321 322 322 322 322 Index 327 www.editions-eni.fr © Editions ENI 12/12