Objeto no escopo do Flash não está disponível após o redirecionamento
Eu tenho um mal-entendido com o uso do escopo do flash no jsf 2. Quero colocar um objeto no mapa do flash durante minha ação e mostrar esse objeto na próxima página. Aqui está minha ação (chamada por h: commandLink):
public String showDetail(PersonneDTO personne) {
MessageFlashBean message = new MessageFlashBean();
message.addMessage("test");
FacesContext.getCurrentInstance().getExternalContext().getFlash()
.put("test", message);
return "showDetail";
}
É apenas um teste, mas o objeto real que quero usar é mais complex
Aqui está a segunda página com o uso do flash:
<ui:fragment rendered="#{flash.test != null and flash.test.hasMessage()}" >
<ui:repeat var="message" value="#{flash.test.messages}">
#{message}
</ui:repeat>
</ui:fragment>
Aqui está a navegação (e aqui está o meu problema :)):
<navigation-rule>
<from-view-id>/index.xhtml</from-view-id>
<navigation-case>
<from-outcome>showDetail</from-outcome>
<to-view-id>/private/showDetail.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
Nesse caso, o escopo do flash funciona bem e minha mensagem aparec
Mas se eu adicionar um redirecionamento na caixa de navegação, meu objeto no mapa flash desaparece
Não entendo por que não posso usar o redirecionamento na regra de navegação (eu acreditava que era o objetivo do escopo do flash
ode haver algo errado no meu códig
Alguém pode me ajudar
Obrigad