Ответ 1
Применить значения запроса
- На этом этапе представленные значения поступают из параметра запроса. Затем значения запроса устанавливаются в резервную копию bean ie.setting для компонентов UIInput
Это не совсем правильно. Значения не устанавливаются в резервную копию beans. Они устанавливаются в компоненты. В основном для каждого компонента UIInput в дереве компонентов происходит следующее:
input.setSubmittedValue(request.getParameter(input.getClientId()));
Здесь input UIInput и request HttpServletRequest.
Обновить значения модели
- На этом этапе обработанные значения передаются из резервной копии bean (UIInput) в управляемый beans. (Это наш пользовательский JSF beans).
Также не совсем правильно. UIInput компоненты не поддерживают beans. В основном для каждого компонента UIInput в дереве компонентов происходит следующее:
bean.setProperty(input.getValue());
Здесь bean и свойство основано на привязке значения ввода, например. value="#{bean.property}".
Все со всеми, ваше замешательство четко различает дерево компонентов JSF, поддержку JSF beans и управляемый JSF beans. Дерево компонентов JSF - это тот, который вы определили на странице JSP/Facelets, и как вы можете получить FacesContext#getViewRoot(). Поддержка JSF beans - это классы Javabean, свойства которых привязаны к дереву компонентов, используя EL, например #{bean.property}. Управляемые JSF beans являются конкретными примерами этих классов Javabean. Они могут быть запросами, сеансами или областями приложения (и в JSF 2.0 также отображаются области видимости). Это управляемый beans, где значения фактически были установлены и извлечены.