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?