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; }
Готово, сообщение об ошибке должно исчезнуть.