Tag: flash scope

了解JSF2中的Flash范围

据我所知,放置在一个faces请求生命周期的Flash范围内的对象将可用于下一个faces请求生命周期,然后清除。 假设我有两个页面: page01.xhtml : <h:form> <h:commandButton action="#{page01Bean.action}" /> </h:form> Page01豆: @ManagedBean @RequestScoped public class Page01Bean { public void action(){ FacesContext.getCurrentInstance().getExternalContext().getFlash().put("fooKey", "fooValue"); } } page02.xhtml : <h:outputText value="#{flash.fooKey}"/> 所以当点击page01.xhtml中的button时,一个faces请求生命周期(比如生命周期A)就会启动,并将这个值设置为fooKey这个键下的fooKey 然后我打开另一个浏览器选项卡并浏览page02.xhtml 。 另一个面临请求生命周期(比如生命周期B)开始渲染这个页面。 我期望生命周期B可以访问其以前的生命周期的范围(即生命周期A),并在page02.xhtml显示page02.xhtml 。 但是,它什么也没有显示。 请纠正我对这个例子中闪存范围的误解。 非常感谢