我正在尝试为我的ManagedProperty设置一个值,但是当我尝试打印时,我得到了null结果。 我想设置Bean类以在我的查询中使用它。 我一直试着设置String,Class,但它总是返回一个null值。 任何人都可以帮助我吗?
@ManagedBean
public class FilialBean extends BaseBean implements Serializable{
private Filial filial;
private List<Filial> filiais;
@ManagedProperty("#{entidadeService}")
private EntidadeService service;
@PostConstruct
public void init(){
service.setFaces(Filial.class);
filial = new Filial();
filiais = (List<Filial>) (List) service.getbasesEntidades();
}
//GETTERS AND SETTERS
}
@ManagedBean(name="entidadeService", eager=true)
@ApplicationScoped
public class EntidadeService implements Serializable{
private List<EntidadeBase> basesEntidades;
private Class faces;
@PostConstruct
public void init(){
System.out.println(faces.getSimpleName());
try{
EntityManager manager = JPAUtil.getEntityManager();
Query query = manager.createQuery("SELECT e FROM Filial e WHERE e.ativo = :ativo");
query.setParameter("ativo", true);
this.basesEntidades = query.getResultList();
}
catch(Exception e){
e.printStackTrace();
}
}
public List<EntidadeBase> getbasesEntidades() {
return basesEntidades;
}
public Class getFaces() {
return faces;
}
public void setFaces(Class faces) {
this.faces = faces;
}
}
答案 0 :(得分:0)
您是否检查过@ManagedBean在两个类中都有相同的包?
我遇到了同样的问题,一个具有null值的属性执行Post Construct方法,这就是问题,一个类有javax.annotation.ManagedBean(CDI)注释,另一个类有javax.faces.bean.ManagedBean(JSF)注释
在我的情况下,我需要两个带有JSF注释的类......