Понимать область применения Flash в JSF2
Насколько я понимаю, объекты, помещенные в область действия Flash в жизненном цикле запроса граней, будут доступны для следующего жизненного цикла запроса граней, а затем очищены.
Предположим, у меня есть две страницы:
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}"/>
Поэтому, когда кнопка вpage01.xhtml
щелкает, запускается жизненный цикл запроса граней (скажем, жизненный цикл A) и устанавливается значение в flash под клавишей под названиемfooKey
Затем я открываю другую вкладку браузера и просматриваюpage02.xhtml
, Другой жизненный цикл запроса лиц (скажем, жизненный цикл B) начинает отображать эту страницу. Я ожидал, что жизненный цикл B может получить доступ к области флэш-памяти предыдущего жизненного цикла (то есть жизненному циклу A) и отобразитьfooValue
вpage02.xhtml
, Однако ничего не отображается.
Пожалуйста, исправьте меня в том, что я неправильно понимаю в области действия вспышки в этом примере. Спасибо