在会话范围Bean上使用t:saveState的用例和优点?

时间:2012-02-18 04:56:51

标签: jsf tomahawk

我理解t:saveState允许请求范围bean持久的时间超过请求范围允许但比会话范围bean短。您还可以在整个bean上使用t:saveState

所以我的问题是,如果你在整个bean上使用t:saveState,那么使用t:saveState而不是在会话范围内配置Bean有什么好处?

同样在什么条件下你创建bean请求范围并使用T:saveState而不是使bean会话范围与?

谢谢

1 个答案:

答案 0 :(得分:2)

只要视图存在,<t:saveState>引用的bean就会存在。它与新的JSF 2.0视图范围基本相同。

当您处理数据时,只要您通过在操作方法上返回nullvoid来与同一视图进行交互,这就非常有用。如果您已经使用了会话范围,那么多个视图(同一会话中的多个浏览器窗口/选项卡)将共享相同的数据。当最终用户在多个浏览器选项卡/窗口中与页面交互并在它们之间切换时,这可能具有不希望的副作用。在一个选项卡中完成的所有更改都将反映在另一个选项卡中。

会话范围绝对应仅用于实际会话范围数据,例如登录用户,其首选项,语言等,可以在同一会话中的多个浏览器窗口/选项卡之间安全地共享。

另见:

相关问题