Flash Scope和Request Scope的区别
Posted
技术标签:
【中文标题】Flash Scope和Request Scope的区别【英文标题】:Difference between Flash Scope and Request Scope 【发布时间】:2013-02-06 16:32:12 【问题描述】:Flash Scope 和 View Scope 有什么区别?
有人可以举个例子解释一下吗?
问候,
【问题讨论】:
【参考方案1】:Flash Scope From the DOC:
Flash 范围的工作方式与 Session 完全相同,但有两个 区别:Flash cookie 只为一个请求保留数据 未签名,用户可以修改。
例子:
public static Result index()
String message = flash("success");
if(message == null)
message = "Welcome!";
return ok(message);
public static Result save()
flash("success", "The item has been created");
return redirect("/home");
请求范围是直截了当的,它仅针对特定请求存在。
【讨论】:
【参考方案2】:Flash 范围旨在解决当我们将 JSF 页面重定向到另一个页面时发生的数据交换问题。
重定向 JSF 页面时产生了两个请求。第一个请求是对源 JSF 页面的回发。第二个请求是对目标 JSF 页面的初始请求。第一个范围内的请求范围内的对象在第二个请求中被清除。
为了克服这个问题,在重定向到另一个 JSF 页面时使用 Flash 范围交换数据。
查看更多:
https://docs.oracle.com/javaee/6/api/javax/faces/context/Flash.html, 或 http://planet.jboss.org/post/learning_jsf2_using_flash_scope【讨论】:
以上是关于Flash Scope和Request Scope的区别的主要内容,如果未能解决你的问题,请参考以下文章