Ответ 1
Каков порядок выполнения этих действий?
-
postAddToView
запускается сразу после добавления компонента для просмотра во время времени сборки (что обычно происходит во время фазы восстановления, но также может во время фазы ответа на визуализацию, например, навигация). -
preValidate
запускается прямо перед тем, как компонент должен быть проверен (что обычно происходит во время фазы проверки, но также может быть фазой запроса запроса еслиimmediate="true"
). -
postValidate
запускается сразу после проверки компонента (что обычно происходит во время фазы проверки, но также может применяться фаза запроса, еслиimmediate="true"
). -
preRenderView
выполняется прямо перед визуализацией представления во время фазы ответа рендеринга. -
preRenderComponent
выполняется прямо перед отображением компонента во время фазы ответа рендеринга.
Нажмите ссылку, чтобы увидеть подробное описание в представлении javadoc.
Я хочу проверить, сохранен ли пользователь в сеансе bean, и если он не перенаправляется на сайт входа в систему, который должен произойти до фазы преобразования view-param, поскольку используемый конвертер зависит от зарегистрированного пользователя, "preValidate", похоже, происходит после преобразования, поэтому мне нужно более раннее событие.
Для этого вам следует использовать простой фильтр сервлетов, а не событие JSF. Я уже опубликовал несколько примеров: