Java 返回null和“返回”之间的差异&引用;来自JSF操作
据我所知,当JSF操作返回Java 返回null和“返回”之间的差异&引用;来自JSF操作,java,jsf,navigation,Java,Jsf,Navigation,据我所知,当JSF操作返回”(空字符串)时,用户将停留在当前页面上,但视图将刷新。但是,当操作返回null时,用户仍停留在当前页面上,但旧视图被重用。我的问题是: 上述陈述正确(准确)吗 如果是,那么这意味着什么?具体来说,使用一种方法与使用另一种方法对页面上的数据(例如,JSF UI组件中的值或存储在DataTable中的请求范围bean中的数据)有什么影响 在什么情况下应该使用一个而不是另一个 上述陈述正确(准确)吗 对。您也可以只返回void,而不是返回null 如果是,那么这意味着什么
”
(空字符串)时,用户将停留在当前页面上,但视图将刷新。但是,当操作返回null
时,用户仍停留在当前页面上,但旧视图被重用。我的问题是:
void
,而不是返回null
如果是,那么这意味着什么?具体来说,使用一种方法与使用另一种方法对页面上的数据(例如,JSF UI组件中的值或存储在DataTable中的请求范围bean中的数据)有什么影响 请求范围的bean上没有任何内容。它只对JSF2视图范围的bean有效。返回
null
或void
时,视图范围的bean实例将保留在下一个请求中,否则将重新创建它
在什么情况下应该使用一个而不是另一个 如果希望在后续请求中保留JSF2视图范围bean 另见:
null
或void
。仅供参考:JSF2规范中的应用程序操作具有以下约束:1。方法必须是公共的。2.该方法不能采用任何参数。3.该方法必须返回对象。我记得,如果您试图使用void
返回类型,但记不清是哪个供应商/版本,至少有一个导航API实现崩溃。@McDowell:实际上,任何可以用a表示的都是一种法律行动方法,即使是在EL 2.2中尽可能使用参数的方法。该规范引用可能是JSF1.0的遗留问题。这是在处理规范中包含的响应值方面的差异,还是仅仅是实现的问题?