JSF - Cycle de vie
Le cycle de vie de l'application JSF se compose de six phases qui sont les suivantes -
- Phase de restauration de la vue
- Appliquer la phase des valeurs de demande; événements de processus
- Phase de validation des processus; événements de processus
- Mettre à jour la phase des valeurs du modèle; événements de processus
- Invoquer la phase d'application; événements de processus
- Phase de réponse du rendu
Les six phases montrent l'ordre dans lequel JSF traite un formulaire. La liste montre les phases dans leur ordre d'exécution probable avec le traitement des événements à chaque phase.
Phase 1: restaurer la vue
JSF commence la phase de restauration de la vue dès qu'un lien ou un bouton est cliqué et que JSF reçoit une demande.
Au cours de cette phase, JSF crée la vue, connecte les gestionnaires d'événements et les validateurs aux composants de l'interface utilisateur et enregistre la vue dans l'instance FacesContext. L'instance FacesContext contiendra désormais toutes les informations nécessaires pour traiter une requête.
Phase 2: appliquer les valeurs de la demande
Une fois l'arborescence des composants créée / restaurée, chaque composant de l'arborescence des composants utilise la méthode de décodage pour extraire sa nouvelle valeur des paramètres de demande. Le composant stocke cette valeur. Si la conversion échoue, un message d'erreur est généré et mis en file d'attente sur FacesContext. Ce message s'affichera pendant la phase de réponse du rendu, avec toutes les erreurs de validation.
Si des écouteurs d'événement de méthodes de décodage appelés renderResponse sur l'instance de FacesContext actuelle, le JSF passe à la phase de réponse de rendu.
Phase 3: validation du processus
Au cours de cette phase, JSF traite tous les validateurs enregistrés dans l'arborescence des composants. Il examine les règles d'attribut du composant pour la validation et compare ces règles à la valeur locale stockée pour le composant.
Si la valeur locale n'est pas valide, JSF ajoute un message d'erreur à l'instance FacesContext, et le cycle de vie passe à la phase de réponse de rendu et affiche à nouveau la même page avec le message d'erreur.
Phase 4: mettre à jour les valeurs du modèle
Une fois que JSF a vérifié que les données sont valides, il parcourt l'arborescence des composants et définit les propriétés d'objet côté serveur correspondantes sur les valeurs locales des composants. JSF mettra à jour les propriétés du bean correspondant à l'attribut value du composant d'entrée.
Si des méthodes updateModels appelées renderResponse sur l'instance de FacesContext actuelle, JSF passe à la phase de réponse de rendu.
Phase 5: Appeler l'application
Au cours de cette phase, JSF gère tous les événements au niveau de l'application, tels que la soumission d'un formulaire / la liaison vers une autre page.
Phase 6: Rendre la réponse
Au cours de cette phase, JSF demande au conteneur / serveur d'applications de rendre la page si l'application utilise des pages JSP. Pour la demande initiale, les composants représentés sur la page seront ajoutés à l'arborescence des composants lorsque le conteneur JSP exécute la page. S'il ne s'agit pas d'une demande initiale, l'arborescence des composants est déjà créée, il n'est donc pas nécessaire d'ajouter des composants à nouveau. Dans les deux cas, les composants s'affichent d'eux-mêmes lorsque le conteneur JSP / serveur d'applications parcourt les balises de la page.
Une fois le contenu de la vue rendu, l'état de la réponse est enregistré afin que les demandes suivantes puissent y accéder et il soit disponible pour la phase de restauration de la vue.