Flash范围和请求范围之间的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flash范围和请求范围之间的区别相关的知识,希望对你有一定的参考价值。
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作用域来交换数据。
看更多:
- https://docs.oracle.com/javaee/6/api/javax/faces/context/Flash.html,或
- http://planet.jboss.org/post/learning_jsf2_using_flash_scope
以上是关于Flash范围和请求范围之间的区别的主要内容,如果未能解决你的问题,请参考以下文章