Zrozum zakres Flash Scope w JSF2
Z tego, co rozumiem, obiekty umieszczone w zasięgu Flash w cyklu życia żądania twarzy będą dostępne dla następnego cyklu życia żądania, a następnie wyczyszczone.
Załóżmy, że mam dwie strony:
page01.xhtml:
<h:form>
<h:commandButton action="#{page01Bean.action}" />
</h:form>
Page01Bean:
@ManagedBean
@RequestScoped
public class Page01Bean {
public void action(){
FacesContext.getCurrentInstance().getExternalContext().getFlash().put("fooKey", "fooValue");
}
}
page02.xhtml:
<h:outputText value="#{flash.fooKey}"/>
Więc kiedy przycisk jest włączonypage01.xhtml
zostanie kliknięty, rozpocznie się cykl życia żądający twarzy (powiedzmy cykl życia A) i ustaw wartość flash pod klawiszem o nazwiefooKey
Następnie otwieram inną kartę przeglądarki i przeglądampage02.xhtml
. Kolejne twarze żądają cyklu życia (powiedzmy cykl życia B) zaczyna renderować tę stronę. Spodziewałem się, że cykl życia B może uzyskać dostęp do zasięgu flash poprzedniego cyklu życia (tj. Cyklu życia A) i wyświetlaniafooValue
wpage02.xhtml
. Jednak nic nie wyświetla.
Proszę, popraw mnie, co źle zrozumiałem na temat zasięgu flash w tej exapaple. Dzięki wielkie