JSF 2.0:マネージドBean xが存在しない、適切なgetterメソッドおよび/またはsetterメソッドが存在することを確認する
問題
JSF 2.0では、
@ ManagedProperty
アノテーションを使用して別のBeanのフィールドにBeanをDIしながら、
@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:**
Unable to create managed bean helloBean. The following problems were
found: – Property messageBean for managed bean helloBean does not exist.
Check that appropriate getter and/or setter methods exist.
解決策
“helloBean”のフィールドに “messageBean”を挿入するには、
messageBeanセッターメソッドがsupply
でなければなりません。
-
HelloBean.java **
@ManagedBean @SessionScoped public class HelloBean implements Serializable { @ManagedProperty(value="#{message}") private MessageBean messageBean; public void setMessageBean(MessageBean messageBean) { this.messageBean = messageBean; }
完了したら、エラーメッセージは消されるはずです。