JSF 2.0: управляемый компонент x не существует, проверьте, что существуют соответствующие методы получения и/или установки

JSF 2.0: управляемый компонент x не существует, проверьте, что существуют соответствующие методы получения и / или установки

проблема

В JSF 2.0 при использовании аннотации@ManagedProperty для DI bean-компонента в поле другого 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 {

Появляется следующее сообщение об ошибке.

An Error Occurred:
Невозможно создать управляемый компонент helloBean. Обнаружены следующие проблемы: - Свойство messageBean для управляемого компонента helloBean не существует. Убедитесь, что существуют соответствующие методы получения и / или установки.

Решение

Чтобы вставить messageBean в поле helloBean,messageBean 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;
    }

Готово, сообщение об ошибке должно исчезнуть.