Tôi hiểu nhầm việc sử dụng phạm vi flash trong jsf 2. Tôi muốn đặt đối tượng trong bản đồ flash trong khi thực hiện hành động và hiển thị đối tượng này trong trang tiếp theo. Đây là hành động của tôi (gọi bằng h: commandLink):Đối tượng trong phạm vi Flash không khả dụng sau khi chuyển hướng
public String showDetail(PersonneDTO personne) {
MessageFlashBean message = new MessageFlashBean();
message.addMessage("test");
FacesContext.getCurrentInstance().getExternalContext().getFlash()
.put("test", message);
return "showDetail";
}
Nó chỉ là một bài kiểm tra, nhưng đối tượng thực sự tôi muốn sử dụng là phức tạp hơn.
Đây là trang thứ hai với việc sử dụng đèn flash:
<ui:fragment rendered="#{flash.test != null and flash.test.hasMessage()}" >
<ui:repeat var="message" value="#{flash.test.messages}">
#{message}
</ui:repeat>
</ui:fragment>
Đây là điều hướng (và đây là vấn đề của tôi :)):
<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>
Trong trường hợp này, đèn flash phạm vi công trình tốt và thông điệp của tôi xuất hiện.
Nhưng nếu tôi thêm chuyển hướng trong trường hợp điều hướng, đối tượng của tôi trong bản đồ flash đã biến mất.
Tôi không hiểu tại sao tôi không thể sử dụng chuyển hướng trong quy tắc điều hướng (Tôi tin rằng đó là mục tiêu của phạm vi flash).
Có thể có sự cố trong mã của tôi.
Ai đó có thể giúp tôi?
Cảm ơn
Tôi đã thử trên JSF 2.0.3.FCS, nó đã tồn tại một chuyển hướng. – Ravi