jsf 2에서 플래시 스코프 사용에 대한 오해가 있습니다. 조치 중에 플래시 맵에 오브젝트를 넣고이 오브젝트를 다음 페이지에 표시하고 싶습니다.리디렉션 후 플래시 범위의 오브젝트를 사용할 수 없습니다.
public String showDetail(PersonneDTO personne) {
MessageFlashBean message = new MessageFlashBean();
message.addMessage("test");
FacesContext.getCurrentInstance().getExternalContext().getFlash()
.put("test", message);
return "showDetail";
}
그냥 테스트,하지만 내가 사용하려는 실제 개체가 더 복잡하다 : 여기 내 행동 (: CommandLink는이 시간에 의해 호출)입니다. 여기
<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>
, 플래시 범위 작품 여기
두 번째 플래시 사용하여 페이지입니다 좋아, 내 메시지가 나타납니다.내비게이션 케이스에 리디렉션을 추가하면 플래시지도의 개체가 사라집니다.
탐색 규칙에서 리디렉션을 사용할 수없는 이유를 이해할 수 없습니다 (플래시 범위의 목표라고 생각했습니다).
내 코드에 뭔가 잘못되었을 수 있습니다.
누군가 나를 도울 수 있습니까?
감사
JSF 2.0.3.FCS에서 시도한 바 있습니다. 리디렉션에서 살아 남았습니다. – Ravi