Intercepteur de JSF
Je veux savoir si il y a un intercepteur dans JSF (comme nous utilisons au Printemps), et comment faisons-nous mettre en œuvre?
Il est peu probable d'être un one-to-one mapping. Jetez un oeil à PhaseListeners.
OriginalL'auteur user1117297 | 2012-01-03
Vous devez vous connecter pour publier un commentaire.
Vous pourriez mettre en œuvre un
PhaseListener
pour cela. Vous pouvez programmer à l'écoute sur un spécifique JSF phase qui vous spécifiez dans le substituéegetPhaseId()
méthode. Vous pouvez intercepter sur l'avant et l'après de la phase des événements parbeforePhase()
etafterPhase()
méthodes.L'exemple ci-dessous est à l'écoute sur le rendu de la réponse en phase:
Pour le faire fonctionner, vous devez l'enregistrer en tant que
<phase-listener>
dans le<life-cycle>
section de lafaces-config.xml
fichier. Vous pouvez avoir plusieurs<phase-listener>
s.Vous pouvez spécifier
PhaseId.ANY_PHASE
dansgetPhaseId()
de laisser la phase auditeur exécuter sur chaque JSF phase (à noter que pas nécessairement tous d'entre eux sera toujours exécuté, cela dépend du type de demande). Vous pouvez, si nécessaire, d'obtenir la phase actuelle de l'ID avant et après la phase de méthodes parPhaseEvent#getPhaseId()
.Sinon, un
Filtre
devrait fonctionner tout aussi bon si vous voulez plus global de crochet (et donc vous n'êtes pas intéressé par JSF requêtes/réponses et vous n'avez pas besoin de quelque chose de laFacesContext
).OriginalL'auteur BalusC