Свойство 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, а не лица, которые я хотел.

Другие вопросы по тегам