Каковы лучшие практики для JSF?

В прошлом я занимался программированием на Java и JSP, но я новичок в Java Server Faces и хочу знать, есть ли набор лучших практик для разработки JSF.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
11
0
10 837
8
Перейти к ответу Данный вопрос помечен как решенный

Ответы 8

Ответ принят как подходящий

Несколько советов: Разберитесь в JSF-запросе жизненный цикл и в том, как в него вписываются различные фрагменты кода. Особенно выясните, почему значения вашей модели не будут обновляться, если есть ошибки валидации.

Выберите библиотеку тегов и придерживайтесь ее. Не торопитесь, чтобы определить свои потребности и создать прототипы различных библиотек. Смешивание разных теглибов может нанести серьезный вред вашему психическому здоровью.

Рассмотрите возможность использования лица - это значительно упрощает худшие части разработки JSF. Я делаю проект JSF на основе CMS сейчас без фейсклетов (после того, как сделал с ним проект), и мне кажется, что моя левая рука отсутствует ...

+1 по этому поводу. JSF без Facelets просто кажется сломанным.

Damo 17.02.2009 17:45

Я настоятельно рекомендую, чтобы кто-нибудь с опытом работы с JSF возглавил ваш первый проект в JSF, даже если это означает оплату подрядчику за 3 месяца. Подход JSF сильно отличается от JSP. Подходите к решению проблем и подходите к ним по-разному.

Библиотеки

Рассмотрим следующие библиотеки:

Архитектура

Примите MVC, вам нужно не только знать, что это означает, но и широко использовать его.

Есть два основных шаблона для связывания контроллеров с представлениями.

Dot Net Style, один контроллер запросов на просмотр

Каждая страница верхнего уровня имеет контроллер с ограниченным объемом запроса (bean), все проверки и действия страницы используют этот класс. Также используется для фильтрации и упорядочивания модели. Модель будет храниться на нескольких контроллерах уровня сеанса, которые будут обрабатывать взаимодействие с серверной частью (EJB или уровень сохраняемости), эти контроллеры сеанса должны реализовывать бизнес-логику и не знать JSF, HTML или какие-либо технологии представления.

Контроллеры уровня сеанса

Создавайте контроллеры на основе вашей модели данных, вкладывайте их друг в друга. (Этот пост становится слишком длинным, поэтому я не буду вдаваться в подробности этого).

Требуемые знания

Каждый:

Хотя бы один человек:

  • Создание пользовательских компонентов
  • Ограничения для JSF (кнопка "Назад", случайная навигация и т. д.)
  • 3-я отладка партийные библиотеки (минимум один человек должно быть комфортно вырываться отладчик и войдя в реализация JSF (проще всего с реализации с открытым исходным кодом, такие как MyFaces))

Я использовал реализацию JSf от IBM, и у меня есть несколько комментариев. Это неплохой путь, но вы должны придерживаться «образа жизни» IBM. Они написали свою собственную библиотеку тегов, которая расширяет стандарт JSF. Если вам удастся остаться внутри Rational Application Developer (RAD) (который обновляется не так часто), интеграция иногда бывает ошибочной, но в целом неплохой. Также довольно хорошая интеграция с WebSphere. Если ваш работодатель не играет в гольф с IBM, я думаю, что лучше оставаться максимально ванильным.

Я еще не знаком с «лучшей практикой» для проверки на уровне полей / форм.

То есть проверка JSF в настоящее время ориентирована на проверку одного поля. ИМО, это становится уродливым, когда вы смотрите на сложную проверку уровня кросс-поля / формы.

Старый, но все еще кажется мне точным http://weblogs.java.net/blog/johnreynolds/archive/2004/07/improve_jsf_by_1.html

http://www.jroller.com/robwilliams/entry/jsf_multi_field_validation_not

  • Добавь свой голос за Facelets. Я недавно обновил проект для использования фейсклетов, и он решает некоторые серьезные проблемы с jsf, специально предоставляя вам достойную систему шаблонов прямо из коробки и позволяя вам использовать стандартный html, когда это необходимо, без "дословного" обертывания. -теги.
  • RestFaces - это решение проблемы получения / публикации, на которую жалуются многие люди. Он также хорошо документирован и прост в использовании.
  • Не используйте во многих библиотеках тегов. Это значительно усложняет работу при обновлении.
  • SEAM собирает множество лучших практик JSF, но я еще не использовал его, поэтому я не могу его рекомендовать, просто рекомендую вам взглянуть на него.

Выберите хорошую библиотеку компонентов. Не используйте richfaces, я предлагаю вам не использовать jsf, использовать spring mvc, jquery для просмотра и json в остальной архитектуре. но если нужно, используйте простые в использовании и в нем достаточно компонентов.

Вы можете проверить это по следующей ссылке, где вы можете найти интересные статьи

http://www.jsftutorials.net/

Другие вопросы по теме