从 JSF 操作返回空值和" "之间的区别



据我所知,当JSF操作返回""(空字符串)时,用户会停留在当前页面上,但视图会被刷新。但是,当操作返回null时,用户仍然停留在当前页面上,但旧视图会被重用。我的问题是:

  1. 上述说法正确(准确)吗
  2. 如果是,那么这意味着什么?具体来说,使用其中一个与另一个对页面上的数据(例如JSF UI组件中的值,或者DataTable中请求范围bean中存储的数据)有什么影响
  3. 在什么情况下应该使用一个而不是另一个

以上陈述正确(准确)吗

是的。不返回null,也可以只返回void

<小时 />

如果是,那么这意味着什么?具体来说,使用其中一个与另一个对页面上的数据(例如JSF UI组件中的值,或者DataTable中请求范围bean中存储的数据)有什么影响

请求范围的bean上没有任何内容。它只对JSF2视图范围的bean有效。在返回nullvoid时,视图范围的bean实例将保留在下一个请求中,否则将重新创建它。

<小时 />

在什么情况下应该使用一个而不是另一个

如果您想在后续请求中保留JSF2视图范围的bean。

另请参阅:

  • JSF 2.0中的通信-托管bean作用域

最新更新