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