Bonjour à tous,
Me voilà confronter à un petit soucis d'ergonomie dans mon projet web concernant les redirections.
J'ai une servlet qui teste quelque chose (pas important de détailler) et qui dans un cas poursuit le processus normal et dans l'autre que exécute une redirection vers la page d'accueil.
Pour cela, j'utilise donc un sendRedirect(). Je ne souhaite pas utiliser un RequestDispatcher() (car l'URL est inchangée pour l'utilisateur et pour une autre raison pas importante à détailler non plus ).
Lorsque l'utilisateur est redirigé vers la page d'accueil, je souhaite afficher un petit message comme "Vous n'avez pas l'autorisation d'accéder à cette page."
(Pour tout vous dire, il ne s'agit pas d'une servlet mais d'un WebFilter)
Quelle est la solution pour faire passer ce message pour qu'il s'affiche sur la page d'accueil ?
Etant un sendRedirect, la requête ne peut garder le message en "attribute". J'ai donc penser à la mettre en session. Cependant, je bloque sur le moyen de virer cet "attribute" de la session (autrement, à chaque fois que l'utilisateur passe sur la page d'accueil, il voit ce message...). A quel endroit puis-je appeler session.removeAttribute() ?
Le seul moyen que j'ai trouvé est d'utiliser un Scriptlet dans ma jsp juste après l'affichage pour appeler session.removeAttribute(). Mais je ne suis pas fan, et je souhaite éviter de mettre de la logique dans mes JSP...
Y a t'il un autre moyen ?
Merci beaucoup.
Partager