Preserving FacesMessage após o redirecionamento para apresentação através de <h: message> no JSF [duplicado]
Esta pergunta já tem uma resposta aqui:
Como mostrar a mensagem de rostos na página redirecionada 1 respostauponho que seja um problema comum: algum bean gerenciado possui uma ação que adiciona algumas mensagens ao context
FacesMessage fm = new FacesMessage("didn't work");
fm.setSeverity(FacesMessage.SEVERITY_ERROR);
FacesContext.getCurrentInstance().addMessage(null, fm);
return "some-outcome";
Então mapeio o resultado emfaces-config.xml
e configure-o para
<navigation-case>
<from-outcome>some-outcome</from-outcome>
<to-view-id>/view.xhtml</to-view-id>
<redirect/>
</navigation-case>
Emview.xhtml
Apresento a mensagem:
<h:message globalsOnly="true" />
o entanto, não funciona porque a mensagem é perdida quando o redirecionamento é executad
Como eu resolveria isso? Eu achei istoamazing post explicando como fazer isso usando umPhaseListener
mas acredito que esta situação é muito comum para ser resolvida dessa maneira. Estou errado? Devo criar oPhaseListener
? Ou existem outras soluções padrão?