Flash Scope和View Scope有什么区别?
有人可以用一个例子解释一下吗?
问候,
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");
}
请求范围是直接的,它仅适用于特定请求。
设计Flash范围是为了解决将JSF页面重定向到另一个页面时发生的数据交换问题。
在重定向JSF页面期间会生成两个请求。第一个请求是回溯到源JSF页面。第二个请求是对目标JSF页面的初始请求。第二个请求中清除第一个作用域中请求作用域中的对象。
要解决此问题,请在重定向到另一个JSF页面时使用Flash作用域来交换数据。
看更多: