我想问一下我是否将我的托管bean放在会话范围内,然后将它存储在会话中"就像我有这样的bean一样
@ManagedBean
@SessionScoped
public class SessionScopedBean implements Serializable {
.......
} //end of class SessionScopedBean
Run Code Online (Sandbox Code Playgroud)
然后它存储在会话中,在我的会话期间我可以使用它
session.getAttribut("SessionScopedBean");
Run Code Online (Sandbox Code Playgroud)
这将给我SessionScopedBean对象,当会话将被销毁时,我将得到null.现在我想问一下我的bean是否在视野范围内,那我怎么能得到它.喜欢
@ManagedBean
@ViewScoped
public class ViewScopedBean implements Serializable {
.......
} //end of class ViewScopedBean
Run Code Online (Sandbox Code Playgroud)
现在如果视图是持久化的,那么这个bean处于视图状态,当视图发生变化时,这个bean将会被破坏.现在我想问一下,如果视图仍然存在,我怎样才能从视图状态获取这个bean.喜欢
view.getAttrubute("ViewScopedBean"); //just a code. No actual implementation.
Run Code Online (Sandbox Code Playgroud)
谢谢
我使用javax.inject.Named并javax.enterprise.context.*Scoped加org.omnifaces.cdi.ViewScoped来定义我的观点豆的生活范围.
现在我想获得所有实例化bean的列表.首先,我认为这篇博客文章涵盖了这个问题,但它只列出了@ManagedBeans.
你知道如何列出它们吗?如果不修复JavaEE的实现甚至版本,这是否可行?
亲切的问候,六甲
PS:我已经找到了org.omnifaces.cdi.BeanStorage,但我不知道如何访问它的地图.