2013-08-03 2 views
0

Я прочитал много сообщений, пытаясь найти лучший подход к тому, что кажется простой проблемой в JSF, но не нашел хорошего ответа.JSF Как заполнить новую страницу без использования области сеанса?

Я пытаюсь вызвать метод и, как результат, перейти на новую страницу. Например, функция вызывается для сохранения данных, которые будут хранить запись, а затем перенаправлять пользователя на новую страницу, которая каким-то образом использует эти данные.

Очевидным решением было бы сгенерировать второй управляемый компонент вручную, заполнить его и добавить его в область сеанса, но тогда компонент останется в области сеанса. Есть ли способ передать соответствующие данные второму компоненту?

Что было бы идеальным, так или иначе передать параметр второму компоненту так, чтобы его метод @PostConstruct мог использовать его для заполнения. Я действительно не хочу, чтобы параметры отображались в URL-адресе, хотя они могут быть значениями данных, которые вы не хотите использовать.

Надеюсь, что это имеет смысл, любые предложения оценены.

Спасибо.

+0

Используйте область представления или область запроса для компонентов. Для передачи параметров вы можете использовать карту флэш-области. В любом случае, вы должны попробовать что-то и поделиться им здесь. –

ответ

0

перед тем, как перейти на следующую страницу, поместите все необходимые данные в область запроса. Затем в следующем bean-компоненте проверьте конструктор для значения, которое вы установили в области запроса перед навигацией, и заполните новый объект.