Какие компоненты MVC в структуре JSF MVC?
В структуре JSF MVC, которая является моделью, представлением и controllerом?
Это зависит от точки зрения (pun intented).
В большой архитектурной картине ваш собственный код JSF – это V :
M – Бизнес-домен / Уровень обслуживания (например, EJB / JPA / DAO)
V – Ваш код JSF
C – FacesServlet
В изображении разработчика архитектурный V в свою очередь делится следующим образом:
M – Сущность
V – Лицевая сторона / страница JSP
C – управляемый компонент
В изображении меньшего клиента разработчик V в свою очередь делится следующим образом:
M – дерево компонентов JSF
V – визуализированный вывод HTML
C – Клиент (веб-браузер)
На еще меньшем изображении JavaScript клиент V в свою очередь делится следующим образом:
M – дерево HTML DOM
V – визуальная презентация
C – Функции прослушивателя событий (взаимодействие с конечным пользователем и Ajax)
Таким образом, это в основном M (M (M (MVC) C) C) C;)
Обратите внимание, что некоторые стартеры и даже некоторые из самых базовых руководств смешивают / копируют / выравнивают свойства объекта в управляемом компоненте, что эффективно делает controller моделью. Излишне говорить, что это плохой дизайн (т. Е. Не простой дизайн MVC).
Фрагменты кода в следующих ответах иллюстрируют правильный подход MVC:
- JSF-controller, служба и DAO
- Создание страниц главной страницы для объектов, как их связать и какой области боба выбрать
- Передача управляемого объекта JSF2 в EJB или помещение того, что требуется в объект передачи
- Фильтр не инициализирует EntityManager
- javax.persistence.TransactionRequiredException в малом приложении
M odel будет вашим ManagedBean
V iew будет jsp
, XHTML
(хорошо вы можете разместить различные виды здесь)
C ontroller будет FacesServlet
Обновите, надеюсь, что эта картинка поможет больше
Сервлет лиц управляет жизненным циклом лиц, поэтому в этом смысле controller сочетается с вашим собственным кодом, который может быть вызван на каждом этапе жизненного цикла