Какие компоненты 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 сочетается с вашим собственным кодом, который может быть вызван на каждом этапе жизненного цикла

    http://www.java-samples.com/images/jsf-lifecycle.gif

    Давайте будем гением компьютера.