Comment gérer l'expiration de session et ViewExpiredException dans JSF 2?

envisagez le scénario suivant. Je clique sur le bouton Soumettre d'un formulaire JSF, après que la session a expiré. Le navigateur affiche un message d'exception:

ViewExpiredException: le contexte view n'a pas pu être restauré

ce que je veux faire, c'est rediriger automatiquement vers la page d'accueil du site web après l'expiration de la session. Quel est le mécanisme pour ce faire? Toute aide serait grandement apprécier.

47
demandé sur BalusC 2011-02-14 16:11:23
la source

1 ответов

pour gérer l'exception chaque fois que l'utilisateur invoque une requête POST synchrone sur une page alors que la session HTTP est expirée et que la méthode de sauvegarde de l'état de la vue JSF est définie à server , ajouter un <error-page> au web.xml qui saisit le JSF ViewExpiredException et affiche la page d'accueil.

<error-page>
    <exception-type>javax.faces.application.ViewExpiredException</exception-type>
    <location>/home.xhtml</location>
</error-page>

pour gérer l'exception sur les requêtes asynchrones (ajax) aussi, vous devez implémenter un custom ExceptionHandler comme répondu dans délai d'expiration de Session et ViewExpiredException la manipulation sur le JSF/PrimeFaces requête ajax

voir aussi:

91
répondu BalusC 2017-05-23 15:10:03
la source