J'ai fourni une interface permettant aux utilisateurs de créer des comptes pour une application. À la fin du processus, la méthode d'enregistrement effectue le processus d'enregistrement ajoute un message de réussite à la page, puis navigue à l'utilisateur à une table de données centrale qui affiche tous les utilisateurs du système.
Le problème que j'ai est que le message de réussite ne soit jamais affiché en raison de la redirection de la page. Je n'arrive pas à attendre () dans la méthode car le message JSF ne s'affiche pas tant que la méthode n'est pas terminée. Idéalement, je veux que le message de réussite soit affiché, puis une heure spécifiée ultérieurement, la page est redirigée.
Comment puis-je atteindre cet objectif?
Gardez le message In la portée du flash . Cela survivra à la redirection.
context.addMessage(clientId, message);
externalContext.getFlash().setKeepMessages(true);
return "users.xhtml?faces-redirect=true";
Notez que les versions plus anciennes Mojarra ont des bugs liés aux périmètres flash particuliers:
Vous auriez préférable de passer à un minimum de Mojarra 2.1.27/2.2.5 afin de vous assurer que votre demande n'est pas affectée par cela.