Jsf 如何将属性从抽象基bean注入另一个托管bean

Jsf 如何将属性从抽象基bean注入另一个托管bean,jsf,managed-bean,managed-property,Jsf,Managed Bean,Managed Property,我有一个抽象类BaseListBean,它有一个tableType: public abstract class BaseListBean { private String tableType; } 子bean如下所示: @ManagedBean @ViewScoped public class FunctionListBean extends BaseListBean { ... } 我的问题是:如何从另一个托管bean访问tableType @ManagedBean(na

我有一个抽象类
BaseListBean
,它有一个
tableType

public abstract class BaseListBean {
     private String tableType;
}
子bean如下所示:

@ManagedBean
@ViewScoped
public class FunctionListBean extends BaseListBean {
   ...
}
我的问题是:如何从另一个托管bean访问
tableType

@ManagedBean(name="requestBean")
@RequestScoped
public class requestBean {
    //this is needed
    private String tableType;

}
目前正在使用的是子bean作为托管属性,例如
functionListBean

@ManagedProperty(value = "#{functionListBean}")
private FunctionListBean functionListBean
然后

functionListBean.tableType

但是我想要的是当前存在的
Bean
tableType
,那么我该怎么做呢

requestBean(requestBean?)不扩展任何内容,那么它如何能够访问tableType呢?或者您只是希望注入“tableType”,而不是完整的bean?在JSF中,您不能。为什么注射全豆子会有问题?也许您必须重新设计并为tableType创建一个类,并将其设置为“托管”。在CDI中,您可以在baseListBean btw中的表类型上使用
@products
,但这需要从jsf管理的bean更改为CDI管理的bean(顺便说一句,这没有错),因为
baseListBean
不是
@ManagedBean
,如何注入完整的bean?requestBean(requestBean?)没有扩展任何内容,那它怎么能访问tableType呢?或者您只是希望注入“tableType”,而不是完整的bean?在JSF中,您不能。为什么注射全豆子会有问题?也许您必须重新设计并为tableType创建一个类,并将其设置为“托管”。在CDI中,您可以在baseListBean btw中的表类型上使用
@products
,但这需要从jsf管理的bean更改为CDI管理的bean(顺便说一句,这没有错),因为
baseListBean
不是
@ManagedBean
,如何注入完整的bean?