【问题标题】:JSF injected bean doesn't work with Primefaces treeJSF 注入的 bean 不适用于 Primefaces 树
【发布时间】:2012-02-12 20:12:06
【问题描述】:

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

【问题讨论】:

  • 似乎是和this question类似的问题。似乎从来没有解决过

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


【解决方案1】:

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

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

或者,使用@Inject 代替@ManagedProperty

【讨论】:

    猜你喜欢
    • 2013-07-31
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 2015-04-15
    • 2011-07-16
    相关资源
    最近更新 更多