视图范围是什么意思?谁能解释一下,以便我了解它与请求范围的不同之处?
Answers:
一@ViewScoped
豆完全一样长住作为JSF视图。通常,它以一个新的新GET请求或导航动作开始,然后只要最终用户将视图中的任何POST表单提交给返回null
或void
(从而导航回到同一视图)的动作方法,它就会生效。刷新页面或返回非null
字符串(甚至是空字符串!)导航结果后,视图范围将结束。
一个@RequestScoped
bean的生命长度完全相同HTTP请求。因此,它将在每个请求结束时进行垃圾回收,并在每个新请求上重新创建它,从而丢失所有更改的属性。
一@ViewScoped
豆因此特别在需要记住跨越Ajax请求的(改变)视图状态富含支持Ajax的看法更为有用。一个@RequestScoped
人会在每一个Ajax请求重新创建,因而不能记住所有更改的视图状态。请注意,@ViewScoped
在同一会话中,Bean不会像Bean那样在不同浏览器选项卡/窗口之间共享任何数据@SessionScoped
。每个视图都有自己的独特之处@ViewScoped
bean。
@SessionScoped
用于请求范围内的数据或查看范围内的数据。另请参见stackoverflow.com/questions/7031885/...