本文介绍了ManagedBeanCreationException:无法使用ManagedProperty设置托管bean的属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我运行我的Web应用程序时,出现以下错误:"com.sun.faces.mgbean.ManagedBeanCreationException:没有适当的处理程序".粗略翻译为无法为托管属性过程定义属性过程"
i get this error : "com.sun.faces.mgbean.ManagedBeanCreationException: No se puede definir la propiedad procesos para el bean administrado procesos" when i run my web app. Roughly translated "cannot define property procesos for the managed property procesos"
这是我的托管bean,存在以下问题:
this is my managed bean with the issue:
@ManagedBean(name = "procesos")
@ViewScoped
public class ProcesosBean implements Serializable {
@ManagedProperty(value="#{user}")
private List<VistaProcesosEntity> procesos;
private LoginBean loginBean;
@PostConstruct
public void init(){
UsuariosEntity user=loginBean.getCurrent();
procesos=new ArrayList<VistaProcesosEntity>();
if (user.getTipo().equalsIgnoreCase("Planta")) {
procesos= Procesos.getALL();
}else if(user.getTipo().equalsIgnoreCase("Exportadora")){
procesos=Procesos.getALLbyExportadora(user.getUsuario());
} else if (user.getTipo().equalsIgnoreCase("Productor")){
procesos=Procesos.getALLbyProductor(user.getUsuario());
}
}
public LoginBean getLoginBean() {
return loginBean;
}
public void setLoginBean(LoginBean loginBean) {
this.loginBean = loginBean;
}
public List<VistaProcesosEntity> getProcesos() {
return procesos;
}
public void setProcesos(List<VistaProcesosEntity> procesos) {
this.procesos = procesos;
}
}
推荐答案
@ManagedProperty(value="#{user}")
private List<VistaProcesosEntity> procesos;
private LoginBean loginBean;
以上应为:
@ManagedProperty(value="#{user}")
private LoginBean loginBean;
private List<VistaProcesosEntity> procesos;
注释@ManagedProperty
引用以下对象(因此在第一种情况下为procesos
).这是造成您的错误的原因.
The annotation @ManagedProperty
references the following object (so in the first case procesos
). This is causing your error.
这篇关于ManagedBeanCreationException:无法使用ManagedProperty设置托管bean的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!