注入JSF的bean不能与Primefaces树一起使用

时间:2012-01-18 02:47:43

标签: jsf jsf-2 dependency-injection primefaces managed-bean

我有一个托管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的页面上输出。

1 个答案:

答案 0 :(得分:0)

将注释放在Bean A的setter而不是成员:

@ManagedProperty
public void setInjectedBean(BeanA beanA) {
   this.beanA = beanA;
}

或者,使用@Inject而不是@ManagedProperty