理解JSF2中的Flash Scope
根据我的理解,面向请求生命周期中放置在Flash作用域内的对象将可用于下一个面请求生命周期,然后清除。
假设我有两页:
page01.xhtml:
<h:form>
<h:commandButton action="#{page01Bean.action}" /></h:form>Page01Bean:
@ManagedBean@RequestScopedpublic class Page01Bean {
public void action(){
FacesContext.getCurrentInstance().getExternalContext().getFlash().put("fooKey", "fooValue");
}}page02.xhtml:
<h:outputText value="#{flash.fooKey}"/>因此,当page01.xhtml单击按钮时,面部请求生命周期(比如生命周期A)开始并将值设置为所调用的键下的闪存fooKey
然后我打开另一个浏览器选项卡并浏览 page02.xhtml。另一个面临请求生命周期(比如生命周期B)开始呈现此页面。我预计生命周期B可以访问其上一个生命周期的闪存范围(即生命周期A)并显示fooValue在其中 page02.xhtml。但是,它什么也没显示。
请纠正我在这个例子中对闪存范围的误解。非常感谢
素胚勾勒不出你
万千封印
翻翻过去那场雪
随时随地看视频慕课网APP
相关分类