JSF1.2:如何在同一视图上的回发中保持请求范围内的托管bean活动?

JSF1.2:如何在同一视图上的回发中保持请求范围内的托管bean活动?,jsf,scope,managed-bean,Jsf,Scope,Managed Bean,是否可以在同一页面上的回发中保持请求范围的bean处于活动状态 一般的问题是,当bean在请求结束时被丢弃,并在每次表单提交时被重新创建时,例如动态操作的禁用,只读和呈现的被重置为其默认值,并导致表单不再按预期工作。不太可能,除非您将Bean存储在某个地方,例如应用程序范围中的映射,以便以后检索它 为什么不将其设置为会话范围?这就是会话作用域的用途,因此同一会话中的多个请求可能会达到相同的状态。我假设会话作用域不是一个选项,否则这个问题就没有意义了 你可以用电脑来做。在页面的某个位置添加以下行:

是否可以在同一页面上的回发中保持请求范围的bean处于活动状态


一般的问题是,当bean在请求结束时被丢弃,并在每次表单提交时被重新创建时,例如动态操作的
禁用
只读
呈现的
被重置为其默认值,并导致表单不再按预期工作。

不太可能,除非您将Bean存储在某个地方,例如应用程序范围中的映射,以便以后检索它


为什么不将其设置为会话范围?这就是会话作用域的用途,因此同一会话中的多个请求可能会达到相同的状态。

我假设会话作用域不是一个选项,否则这个问题就没有意义了

你可以用电脑来做。在页面的某个位置添加以下行:

<t:saveState value="#{bean}" />
无论以何种方式,当您回发到同一视图并从action方法中不断返回
null
void
时,相同的bean都会出现

另见:

+1表示“我假设会话范围不是一个选项,否则这个问题就没有意义了。”下面的回答是:)+1表示
JSF2.0
@niksvp@jigar:总票数是1。谁忘了投票?:)顺便说一句,系统不会在上向我通知
@niksvp@jigar
this@jigar@niksvp这一次呢?
<a4j:keepAlive beanName="#{bean}" />
@ManagedBean
@ViewScoped
public class Bean implements Serializable {
    // ...
}