Entenda o escopo do Flash no JSF2

Pelo que entendi, os objetos colocados dentro do escopo do Flash em um ciclo de vida de solicitação de faces estarão disponíveis para o próximo ciclo de vida de solicitação de faces e, em seguida, serão limpos.

Suponha que eu tenha duas páginas:

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}"/> 

Então, quando o botãopage01.xhtml é clicado, um ciclo de vida de solicitação de faces (digamos, ciclo de vida A) inicia e define o valor para o flash sob a chave chamadafooKey

Então eu abro outra aba do navegador e navegopage02.xhtml . Outro ciclo de vida de solicitação de faces (digamos, ciclo de vida B) começa a renderizar essa página. Eu esperava que o ciclo de vida B pudesse acessar o escopo de flash do ciclo de vida anterior (ou seja, o ciclo de vida A) e exibirfooValueempage02.xhtml. No entanto, não exibe nada.

Por favor, corrija-me o que eu entendi mal sobre o alcance do flash neste exemplo. Muito obrigado

questionAnswers(2)

yourAnswerToTheQuestion