Переход от Struts к JSF - это смена парадигмы в подходе к проблеме (мое мнение). Struts использует модель, основанную на действии, в то время как JSF использует модель компонентов (что-то вроде написания графического приложения для настольного компьютера с использованием Swing и т. Д.) И чтобы сделать работу разработчиков еще сложнее, JSF поставляется со сложным жизненным циклом обработки запросов, подкрепленным бесполезной реализацией проблем в JSF 1.1.
Я видел, как люди, переходящие от Struts к JSF, много боролись и, таким образом, создавали кодовую базу, представляющую собой смесь обоих миров (на основе действий и компонентов). Эту смешанную кодовую базу очень сложно поддерживать и отлаживать.
Сказав это, JSF по-прежнему является спецификацией, и если вы можете использовать JSF 2.0 (или, по крайней мере, JSF 1.2) с Facelets, то я предлагаю сделать простое подтверждение концепции с учетом следующих факторов
- Изучите основы JSF 2.0 или 1.2 с Facelets
- Рассмотрим сложный вариант использования (в терминах
динамического интерфейса) поддерживается
текущий апплет
- Построить это от начала до конца, охватывая валидацию, шаблоны, списки, действия
- Затем используйте тот же вариант использования в GWT или Vaadin . Я предлагаю это, потому что ваши пользователи в настоящее время привыкли к толстым клиентам, использующим апплеты, и GWT предназначен для этого
И если вы наконец-то выбрали JSF 1.2 или 2.0, тогда я настоятельно рекомендую использовать набор компонентов PrimeFaces . Это быстро, просто и богато компонентами.