Миграция приложения JSF 1.2 в JSF 2.0 - PullRequest
5 голосов
/ 18 ноября 2010

В настоящее время мое веб-приложение основано на следующих библиотеках / инфраструктурах / инструментах:

  • Java 1.6
  • JSF 1.2_07-b03-FCS
  • Facelets 1.1.14
  • Richfaces 3.3.2.GA
  • EL-функторы 1.0.2
  • Пружина 2.5.2
  • Сервер Tomcat v5.5

Некоторая дополнительная информация:

  • Spring отвечает за управление всеми компонентами, используемыми JSF (org.springframework.web.jsf.DelegatingVariableResolver определяется как variable-resolver в моем faces-config.xml файле).
  • EL-Functors используется в качестве моего el-resolver для расширения языка выражений.
  • Я создал много пользовательских компонентов, некоторые из которых являются просто композициями Facelets, другие являются компонентами на основе Java (некоторые из них являются компонентами Richfaces).

Я хочупопробуйте (в основном для любопытства, но если это работает хорошо, почему бы не real ?) перенести мое приложение в JSF 2.0.

Вопрос № 1 : что это такоекритические моменты, которые я должен учитывать, чтобы заставить мое приложение работать правильно?

Я говорю здесь только о наличии работающего приложения, ни меньше, ни больше.

Я уже знаю, что мне придется просмотреть все свои пользовательские компоненты, потому что я буду использовать новую версию Richfaces (4.0), а также посмотреть, работают ли они правильно.

Вопрос № 2 : Какими будут первые шаги для использования преимуществ JSF 2.0?Вот некоторые идеи, которые у меня уже есть:

  • Удалите EL-Functors и используйте язык выражений 2.2;
  • Позвольте JSF управлять компонентами и использовать @ManagedBean.Или, может быть, переключиться на библиотеку CDI, например Weld ?
  • Использовать <f:ajax> вместо <a4j:support>?

Относительно JavaEE6

Я знаю, хорошей идеей было бы полностью перейти на JavaEE6.Я бы хотел сделать это, но по некоторым причинам я просто не могу этого сделать.Одна (плохая) причина в том, что я должен оставаться на серверах Tomcat.Однако я могу добавить новые сторонние библиотеки, чтобы иметь некоторые функции JavaEE6, такие как EL 2.2 ... Поэтому, пожалуйста, учтите этот аспект в своих ответах.

С уважением.

Ответы [ 2 ]

1 голос
/ 21 апреля 2011

Если вы планируете остаться с Tomcat, то переход на Java EE 6 означает, что вы посмотрите на Tomcat версии 7.

Но если вам нужен полноценный сервер Java EE 6, то GlassFish 3 или JBoss 6 - лучшая альтернатива. Tomcat может быть сомнительным, когда вы пытаетесь сделать что-то вроде CDI (Weld) или EJB 3.

Только мои два цента. Надеюсь, это поможет ...

1 голос
/ 19 ноября 2010

Поскольку Richfaces 4 все еще находится в стадии разработки, вы можете использовать Richfaces 3.3.3 с JSF 2.0. Таким образом, вы должны использовать Facelets 1.1.15, как описано здесь http://community.jboss.org/wiki/RichFaces333andJSF20

Это означает, что переключение с a4j: support на f: ajax не будет работать с вашими компонентами на основе Richfaces, поэтому я предлагаю придерживаться a4j: support. Это также снизит эффективность миграции, если вы решите перейти на Richfaces 4, как только он станет доступен.

Поскольку вы уже используете Spring для управления JSF-компонентами, вам не нужно использовать DI-функции JSF2. Я бы придерживался Spring, но рассмотрел бы обновление до Spring 3.

Кроме того, Weld определенно стоит посмотреть.

НТН

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...