Объект в области видимости Flash недоступен после перенаправления
У меня есть недоразумение с использованием области видимости flash в jsf 2. Я хочу поместить объект на карту флэш-памяти во время моего действия и показать этот объект на следующей странице. Вот мое действие (вызов h: commandLink):
public String showDetail(PersonneDTO personne) {
MessageFlashBean message = new MessageFlashBean();
message.addMessage("test");
FacesContext.getCurrentInstance().getExternalContext().getFlash()
.put("test", message);
return "showDetail";
}
Это всего лишь тест, но реальный объект, который я хочу использовать, является более сложным.
Вот вторая страница с использованием вспышки:
<ui:fragment rendered="#{flash.test != null and flash.test.hasMessage()}" >
<ui:repeat var="message" value="#{flash.test.messages}">
#{message}
</ui:repeat>
</ui:fragment>
Вот навигация (и вот моя проблема :)):
<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>
В этом случае флеш-область работает нормально, и появляется мое сообщение.
Но если я добавлю редирект в случае навигации, мой объект на карте флэш исчезнет.
Я не понимаю, почему я не могу использовать перенаправление в правиле навигации (я полагал, что это было целью флеш-области).
Может быть, что-то не так в моем коде.
Кто-то может мне помочь?
Спасибо