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