Вы не можете использовать аннотации JSF 2.0 в JSF 1.2, не обновив их полностью до JSF 2.0. Однако вы можете использовать CDI аннотации (@Named
, @Inject
и т.п.) в JSF 1.2. Поскольку вы используете старую JSF 1.2, я предполагаю, что вы используете старый контейнер Java EE 5 / Servlet 2.5. Хотя CDI является частью Java EE 6, вы можете использовать автономную реализацию CDI в контейнере, совместимом с Java EE 5 / Servlet 2.5. Одной из реализаций CDI является JBoss Weld . Это даже официально поддерживается на Tomcat 6.
CDI будет охватывать большую часть того, что JSF 2.0 предлагает в качестве аннотаций управляемого компонента, включая три основные области действия @RequestScoped
, @SessionScoped
и @ApplicationScoped
. CDI не предлагает только полноценный эквивалент аннотации JSF 2.0 @ViewScoped
. Самое близкое, что он предлагает, это @ConversationScoped
, но вам нужно будет вручную начинать и заканчивать введенный Conversation
.
CDI не предлагает аннотации, которые могут заменить @FacesConverter
, @FacesValidator
и лайки, но это, вероятно, не ваше главное требование.