Каково время сборки представления?

Я довольно новичок в JSF и, читая некоторые из стековых ответов, подобных этому, я столкнулся с концепцией времени построения представления. Рассмотрим схему жизненного цикла JSF:

введите описание изображения здесь

Как вы можете видеть, нет фазы, называемой временем сборки представления. Может быть, это означает то же, что и фаза восстановления? Из учебника по JavaEE

На этом этапе реализация JavaServer Faces создает представление страницы [...]

1 ответ

Решение

Время построения представления не является фазой. Время построения представления - это тот момент, когда физическое UIViewRoot экземпляр и все его дочерние элементы создаются на основе объявления представления, которое обычно определяется в файлах XHTML или JSP.

Время создания представления не ограничено определенной фазой жизненного цикла JSF. Технически это может произойти на любом этапе. По умолчанию он обычно выполняется во время фазы просмотра восстановления, но это также может происходить во время фазы ответа рендеринга, особенно когда запрос является запросом GET или когда навигация была выполнена во время запроса POST. Разработчики также могут программно создавать представление с помощью ViewDeclarationLanguage#buildView() или неявным образом заставить реализацию JSF сделать это через FacesContext#setViewRoot(), когда навигации не достаточно для конкретной задачи.

Фаза восстановления представления просто восстанавливает состояние JSF в представлении. Т.е. он устанавливает атрибуты компонента со значениями, какими они были во время предыдущего запроса в том же представлении. Таким образом, JSF точно знает, как выглядело представление в тот момент, когда форма была представлена ​​конечному пользователю, и может, среди прочего, сделать некоторые меры защиты от несанкционированных запросов.

Смотрите также:

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