JSF 2.0:マネージドBean xが存在しない、適切なgetterメソッドおよび/またはsetterメソッドが存在することを確認する

JSF 2.0:マネージドBean xが存在しません。適切なgetterおよび/またはsetterメソッドが存在することを確認してください

問題

JSF 2.0では、@ManagedPropertyアノテーションを使用してBeanを別のBeanのフィールドにDIしますが、

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:
マネージドBeanhelloBeanを作成できません。 次の問題が見つかりました。–マネージドBean helloBeanのプロパティmessageBeanが存在しません。 適切なgetterおよび/またはsetterメソッドが存在することを確認してください。

溶液

「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;
    }

完了、エラーメッセージは表示されなくなります。