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; }
完了、エラーメッセージは表示されなくなります。