Свойство name в аннотации @ManagedBean недоступно
Я пытаюсь сделать свое первое приложение JSF с помощью обучающего видео на YouTube. (eclipse/JSF2.0 Динамический веб-проект). В первом созданном классе я должен добавить строку ниже
@ManagedBean (name = "userRegistration")
Но когда я сделал то же самое, eclipse показывает ошибку в ключевом слове "name" и предлагает заменить его на "value".
@ManagedBean (value = "userRegistration")
Но он работает не так, как ожидалось, и выкинул ошибку ниже.
/FirstPage.xhtml @ 10,66 value = "# {userRegistration.name}": цель недостижима, идентификатор userRegistration преобразован в ноль
Может кто-нибудь помочь мне здесь?
2 ответа
@ManagedBean(name="userRegistration")
верно. Вы можете избежать (name="userRegistration") части, если ваш класс Java является UserRegistration. Проверьте, импортировали ли вы соответствующий класс: java.faces.bean.ManagedBean
В ответ на предыдущий ответ, у меня тоже была эта проблема. Убедитесь, что у вас есть правильный импорт. Есть 2 импорта, которые имеют аннотацию @ManagedBean.
javax.annotation.ManagedBean & javax.faces.bean.ManagedBean
javax.annotation.ManagedBean не имеет имени атрибута или стремится к этому.
Я заметил, что если я просто аннотирую свой класс bean-компонентом @annotation, то он будет импортировать класс javax.annotation.ManagedBean, а не лица, которые я хотел.