据我所知,当JSF操作返回""
(空字符串)时,用户会停留在当前页面上,但视图会被刷新。但是,当操作返回null
时,用户仍然停留在当前页面上,但旧视图会被重用。我的问题是:
- 上述说法正确(准确)吗
- 如果是,那么这意味着什么?具体来说,使用其中一个与另一个对页面上的数据(例如JSF UI组件中的值,或者DataTable中请求范围bean中存储的数据)有什么影响
- 在什么情况下应该使用一个而不是另一个
以上陈述正确(准确)吗
是的。不返回null
,也可以只返回void
。
如果是,那么这意味着什么?具体来说,使用其中一个与另一个对页面上的数据(例如JSF UI组件中的值,或者DataTable中请求范围bean中存储的数据)有什么影响
请求范围的bean上没有任何内容。它只对JSF2视图范围的bean有效。在返回null
或void
时,视图范围的bean实例将保留在下一个请求中,否则将重新创建它。
在什么情况下应该使用一个而不是另一个
如果您想在后续请求中保留JSF2视图范围的bean。
另请参阅:
- JSF 2.0中的通信-托管bean作用域