Exception durant RENDER RESPONSE
Salut à tous,
Bon voila, j'ai mon projet qui tourne sous JSF 1.2 couplé à Seam 2 et je galère vraiment à traiter les exceptions levées lors de la RENDER_RESPONSE phase du cycle de vie JSF.
En gros, c'est pas compliqué, j'ai une page sur laquelle se produit une erreur (LazyInitialisationException), et je voudrais rediriger l'utilisateur vers une page d'erreur "maison" (error.jspx).
J'ai cru comprendre que Seam ne savait pas opérer sur cette phase du cycle de vie JSF donc j'ai essayé d'intervenir au niveau JSF plutôt.
J'ai trouvé un post intéressant et prometteur (http://insights2jsf.wordpress.com/20...ns-in-jsf-1-2/) qui consiste à implémenter deux classes implémentant respectivement LifecycleFactory et Lifecycle.
En gros j'ai redéfini la méthode suivante dans ma classe InterceptingLifecycle qui étend javax.faces.lifecycle.Lifecycle :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
@Override
public void render(FacesContext context) throws FacesException {
try {
logger.info("render(...)");
getWrapped().render(context);
}
catch (FacesException intercepted) {
logger.error("===>>> Intercepted Throwable from render()", intercepted);
throw intercepted;
}
} |
Le fait est que je passe bien dans le try (je passe les quelques modifs apportées web.xml & faces-config.xml) mais jamais dans le catch... Du coup, impossible de traiter l'erreur.
Est-ce que je m'y prend comme il faut où est-ce que je suis complètement hors-sujet ?
Merci d'avance de votre aide.