JSF 2.0 и Томагавк MyFaces - PullRequest
3 голосов
/ 04 июня 2010

Я изучал возможность обновления JSF в наших существующих веб-приложениях, использующих JSF 1.2 и томагавк 1.1.9 и без лицевых панелей, для использования JSF 2.0 и томагавк 1.1.9

Это мой вывод, софар:

  • Все компоненты томагавка работали, за исключением t: dataTable, используемого с t: dataScroller - ТОЛЬКО ЕСЛИ preserveDataModel = "true" для t: dataTable.

  • Обходной путь должен установить preserveDataModel = "false"

    -Почему это ломается, объясняется здесь: http://www.mail-archive.com/dev@myfaces.apache.org/msg40741.html

  • Здесь объясняется влияние изменения preserveDataModel = "true" на preserveDataModel = "false": http://wiki.apache.org/myfaces/Working_With_DataTable_And_PreserveDataModel

  • Существующие теги JSF 1.2 по-прежнему работают в среде выполнения JSF 2.0

Кто-нибудь еще делал что-то подобное - и каков ваш опыт?

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

1 Ответ

4 голосов
/ 04 июня 2010

На самом деле, поставщик библиотеки отвечает за тестирование. Вы также не должны загружать библиотеки, которые явно не упоминаются как совместимые с JSF 2.0. Если я загляну на сайт Tomahawk, там нет ни слова о «JSF 2.0», только 1.1 и 1.2. Так что не стоит ожидать, что он будет работать безупречно на JSF 2.0.

До сих пор доступны только библиотеки, совместимые с JSF 2.0 RichFaces 3.3.3 , PrimeFaces 2.0 , OpenFaces 2.0 , Apache Trinidad 2.0 и (в настоящее время все еще в стадии альфа) * ​​1011 * IceFaces 2.0 .

Этот сайт раньше предоставлял отличный обзор, но в настоящее время он устарел. Автору еще предстоит наверстать некоторые существенные изменения.


По моему личному опыту, основными причинами использования Tomahawk были t:dataList, t:dataTable preserveDataModel="true" и t:saveState, но с JSF 2.0 на Facelets все они излишни и заменяемы ui:repeat и @ViewScope. Поэтому я не вижу причин придерживаться Томагавка, или это должно быть t:selectOneRadio layout="spread".

...