我有一个托管bean:
@ManagedBean
@ViewScoped
public class BeanA implements Serializable {
private TreeNode tree;
... }
我想把它注入
@ManagedBean
@ViewScoped
public class BeanB extends Serializable {
@ManagedProperty(value="#{beanA}")
private BeanA injectedBean;
... getters and setters for injectedBean
}
但是当我尝试通过页面上的BeanB引用BeanA的属性时没有任何反应。具体来说,我正在BeanB支持的页面上尝试BeanA的顶级重用功能(primefaces树的数据模型)。也没有错误/堆栈跟踪结果。屏幕上没有输出树,但树在直接使用BeanA的页面上输出。
答案 0 :(得分:0)
将注释放在Bean A的setter而不是成员:
@ManagedProperty
public void setInjectedBean(BeanA beanA) {
this.beanA = beanA;
}
或者,使用@Inject而不是@ManagedProperty