【发布时间】:2013-11-30 11:09:19
【问题描述】:
只要用户与同一个视图交互(或直到它被导航到不同的视图),视图范围的 bean 就会保持活动状态。
假设一个视图范围的托管 bean 像这样注入另一个视图范围的 bean,
@ManagedBean
@ViewScoped
public final class SharableManagedBean implements Serializable
{
private static final long serialVersionUID = 1L;
@EJB
private SharableBean sharableService;
//...Do something.
}
@ManagedBean
@ViewScoped
public final class TestManagedBean implements Serializable
{
private static final long serialVersionUID = 1L;
@EJB
private TestBean testBean;
@ManagedProperty(value="#{sharableManagedBean}")
private SharableManagedBean sharableManagedBean ;
//... Do something with the injected bean.
}
在这种情况下,SharableManagedBean 是否需要具有视图范围的 bean?
如果它是请求范围的 bean (SharableManagedBean),会发生什么?是否只初始化一次,当TestManagedBean进入画面并被销毁,当TestManagedBean被销毁?
【问题讨论】:
标签: jsf managed-bean jsf-2.2