ManagedBeanCreationException:无法使用ManagedProperty设置托管bean的属性 [英] ManagedBeanCreationException: cannot set property for managed bean with ManagedProperty

查看:224
本文介绍了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的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆