JSF 2.0: le bean géré x n’existe pas, vérifiez qu’il existe des méthodes de lecture et/ou de définition appropriées

JSF 2.0: le bean géré x n'existe pas, vérifiez qu'il existe des méthodes getter et / ou setter appropriées

Problème

Dans JSF 2.0, tout en utilisant l'annotation@ManagedProperty pour DI le bean dans le champ d'un autre bean,

HelloBean.java

@ManagedBean
@SessionScoped
public class HelloBean implements Serializable {

    @ManagedProperty(value="#{message}")
    private MessageBean messageBean;

MessageBean.java

@ManagedBean(name="message")
@SessionScoped
public class MessageBean implements Serializable {

Il frappe le message d'erreur suivant.

An Error Occurred:
Impossible de créer le bean géré helloBean. Les problèmes suivants ont été trouvés: - La propriété messageBean pour le bean géré helloBean n'existe pas. Vérifiez qu'il existe des méthodes getter et / ou setter appropriées.

Solution

Pour injecter le «messageBean» dans le champ de «helloBean», lesmessageBean setter method must be supply.

HelloBean.java

@ManagedBean
@SessionScoped
public class HelloBean implements Serializable {

    @ManagedProperty(value="#{message}")
    private MessageBean messageBean;

    public void setMessageBean(MessageBean messageBean) {
        this.messageBean = messageBean;
    }

Terminé, le message d'erreur devrait avoir disparu.