Могу ли я использовать аннотации JSF 2.0 в приложении JSF 1.2? - PullRequest
2 голосов
/ 28 января 2012

Какая часть платформы JSF 2.0 обрабатывает аннотации? Я действительно хотел бы добавить их в приложение JSF 1.2. Это даже реалистичная цель?

1 Ответ

2 голосов
/ 28 января 2012

Вы не можете использовать аннотации 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 и лайки, но это, вероятно, не ваше главное требование.

...