0
我提到了这个问题范围的bean和我类似的问题 JSF - Get the SessionScoped Bean instance获取会话的当前实例在JSF 2.0
我希望得到一个托管bean的当前实例在另一个托管bean。我有一个SuperBean,它在一个基类BaseBean中进行了扩展。 我在baseBean中设置了一个list - itemList的值。列表的getter setter在SuperBean中,我应该在BackingBean中使用这个SuperBean来获取itemList的值。
我尝试使用 -
Application app = FacesContext.getCurrentInstance().getApplication();
ValueBinding vb = app.createValueBinding("#{superbean}");
SuperClass superclass = (SuperClass) vb.getValue(FacesContext.getCurrentInstance());
当我尝试打印superclass.getItems(); - 它仅仅给出了这一点 - []
而且也在于此 -
SuperClass superclass = (SuperClass)FacesContext.getCurrentInstance().
getExternalContext().getSessionMap().get("superbean");
当我尝试用这种打印 - 它抛出异常,因为我superbean项不存在于sessionMap即使进入放置在facesConfig中,也可以@ManagedBean和@sessionscoped
请帮我解决这个问题。
所提问题的解决方案没有帮助吗?如果您使用'@ ManagedProperty'注释,我认为您不需要SuperBean。我认为如果你只引用子类的属性,你的超类不会被intantiated。 –
@ManagedProperty注解必须在我的BackingBean中给出它吗? – JaveDeveloper
用示例添加了答案 –