[英]Set value to ManagedProperty
我正在嘗試為ManagedProperty設置一個值,但是當我嘗試打印此結果時卻得到了空結果。 我想將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;
}
}
您是否檢查過@ManagedBean在兩個類中是否具有相同的軟件包?
我遇到了同樣的問題,一個具有空值的屬性執行Post Construct方法,這就是問題所在,一個類具有javax.annotation.ManagedBean(CDI)注釋,另一個類具有javax.faces.bean.ManagedBean(JSF)注釋。
就我而言,我需要兩個帶有JSF批注的類...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.