Жизненный цикл JSF — этап выполнения и рендеринга

Опубликовано: 15 Сентября, 2022

Система приложений JavaServer Faces последовательно контролирует этапы жизненного цикла простых приложений и, кроме того, позволяет вам работать с ними физически. Жизненный цикл приложения JavaServer Faces начинается, когда клиент отправляет HTTP-запрос на страницу, и закрывается, когда рабочий реагирует на страницу.

Жизненный цикл JSF разделен на два основных этапа:

  1. Выполнить этап
  2. Стадия рендеринга

1) Выполнить этап

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

Стадия выполнения дополнительно разделена на следующие подэтапы.

  • Восстановить сцену просмотра
  • Применить значения запроса Этап
  • этап утверждения процесса
  • Этап обновления качества модели
  • вызвать этап приложения
  • Стадия реакции рендеринга

Стадия восстановления просмотра:

В тот момент, когда клиент требует страницу JavaServer Faces, использование JavaServer Faces начинает этап восстановления просмотра. На этом этапе JSF создает представление на указанной странице, связывает наблюдателей событий и валидаторов с сегментами в представлении и сохраняет представление в примере FacesContext.

В случае, если запрос страницы является обратной передачей, представление, относящееся к этой странице, уже существует в примере FacesContext. На этом этапе выполнение JavaServer Faces восстанавливает представление, используя данные о состоянии, сэкономленные на клиенте или работнике.

Применить значения запроса Стадия:

На этом этапе дерево сегментов восстанавливается во время запроса обратной передачи. Дерево сегментов представляет собой набор элементов структуры. Каждый сегмент в дереве удаляет свой новый стимул из границ запроса, используя свою стратегию распутывания (processDecodes()). После этого ценность откладывается локально на каждом сегменте.

Если какие-либо методы расшифровки или случайные зрители вызвали стратегию рендеринга в текущем примере FacesContext, использование JavaServer Faces переходит на этап реакции рендеринга.

Если на этом этапе были отмечены какие-либо события, использование JavaServer Faces сообщает о событиях заинтересованным членам аудитории.

В случае, если приложению необходимо переключиться на альтернативный ресурс веб-приложения или создать реакцию, не содержащую никаких сегментов JavaServer Faces, оно может вызвать стратегию FacesContext.responseComplete().

В случае, если текущий запрос распознается как запрос на полпути, неполная настройка восстанавливается из FacesContext и применяется метод дробной обработки.

Стадия утверждения процесса:

На этом этапе JavaServer Faces измеряет всех валидаторов, зарегистрированных в сегментах, используя свою стратегию Approval(). Он смотрит на атрибуты сегмента, указывающие на рекомендации по утверждению, и думает об этих стандартах по отношению к ближайшей стоимости, отложенной для сегмента. Кроме того, JavaServer Faces завершает изменения для входных сегментов, для которых свойство подсказки не установлено как действительное.

если какие-либо утвержденные стратегии или члены аудитории вызвали метод renderResponse в текущем FacesContext, выполнение JavaServer Faces переходит к этапу Render Reaction.

если приложению необходимо переключиться на альтернативный ресурс веб-приложения или произвести реакцию, не содержащую никаких сегментов JavaServer Faces, оно может вызвать стратегию FacesContext.responseComplete.

если эти события были выложены на этом этапе, выполнение JavaServer Faces сообщает о них заинтригованным членам аудитории.

В случае, если текущий запрос определяется как дробный запрос, промежуточная настройка восстанавливается из FacesContext и применяется стратегия неполной обработки.

Этап обновления качества модели:

После подтверждения того, что информация является законной, он перемещается по дереву частей и устанавливает сравниваемые свойства статьи рабочей стороны с оценками соседства сегментов. Использование JavaServer Faces обновляет только свойства bean-компонента, на которые указывает признак ценности информационной части. Если ближайшая информация не может быть преобразована в форматы, указанные в свойствах bean-компонента, жизненный цикл переходит прямо к этапу Render Reaction, поэтому страница повторно доставляется с показанными ошибками.

если существует вероятность того, что какие-либо методы updateModels или какие-либо члены аудитории вызвали стратегию renderResponse() для текущего экземпляра FacesContext, использование JavaServer Faces переходит на этап Render Reaction.

Если приложению необходимо переключиться на альтернативный ресурс веб-приложения или создать реакцию, не содержащую никаких сегментов JavaServer Faces, оно может вызвать метод FacesContext.responseComplete().

если на этом этапе были обнаружены какие-либо события, выполнение JavaServer Faces сообщает о них заинтересованным членам аудитории.

Если текущий запрос определяется как дробный запрос, неполная настройка восстанавливается из FacesContext и применяется метод обработки наполовину.

Вызвать этап приложения:

На этом этапе JSF обрабатывает события на уровне приложения, например, представление структуры или подключение к другой странице.

В настоящее время, если приложению необходимо переключиться на альтернативный ресурс веб-приложения или произвести реакцию, не содержащую никаких сегментов JSF, оно может вызвать метод FacesContext.responseComplete().

С этого момента выполнение JavaServer Faces перемещает управление на этап Render Reaction.

Стадия реакции рендеринга:

  • Это последний период жизненного цикла JSF. На этом этапе JSF собирает представление и делегирует полномочия подходящему ресурсу для доставки страниц.
  • Если это основной запрос, сегменты, к которым обращаются на странице, будут добавлены в дерево частей.
  • На случай, если это не основная просьба, части теперь добавляются в дерево и их не нужно добавлять еще раз.
  • В случае, если запрос представляет собой обратную передачу и на этапе «Применить оценки запроса», «Цикл утверждения» или «Обновление качества модели» были допущены ошибки, первая страница доставляется снова на этом этапе.
  • В случае, если страницы содержат метки h:message или h:messages, все сообщения об ошибках отображаются на странице.
  • После предоставления сути представления состояние реакции сохраняется, поэтому последующие запросы могут добраться до него. Сохраненное состояние доступно на этапе Восстановить представление.

2) Рендер:

На этом этапе указанный вид доставляется как реакция на программу клиента. Представление доставки — это цикл, в котором выходные данные создаются в формате HTML или XHTML. Таким образом, клиент может видеть это в программе.

  • Сопутствующие авансы принимаются во время цикла рендеринга.
  • Заявка накапливается, когда клиент запрашивает страницу index.xhtml.
  • Приложение выполняется после размещения, и для приложения строится другое дерево сегментов, которое помещается в FacesContext.
  • Дерево сегментов заполняется сегментом и связанным с ним контролируемым свойством bean-компонента, о котором говорит артикуляция EL.
  • С учетом дерева сегментов. Собирается другой вид.
  • Представление доставляется упомянутому покупателю в качестве реакции.
  • Следовательно, дерево сегментов измельчается.
  • При последующих запросах дерево сегментов обновляется и применяется сохраненное состояние.