2010-10-25 2 views
2

Я перешел от JSF 1.2 к JSF 2.0, и, похоже, я пропустил что-то во время переключения. Я следующий сценарий:Параметры запроса запроса через FacesContext

  1. Существует кнопка на одной странице с ActionListener установлен в один управляемый метод бина, который добавляет объект запроса по телефону FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("foo", fooObject);
  2. Навигация правильно обрабатывается на другую страницу, где другой управляемый компонент инициализируется.
  3. Конструктор другого управляемого компонента пытается извлечь переданный объект из запроса, вызвав FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("foo"); и инициализировать себя принятыми значениями.

Обе управляемые бобы являются областями применения. Я замечаю, что конструктор не может получить правильное значение из запроса, потому что карта запроса не содержит ключ «foo».

Что я делаю неправильно? Есть лучший способ сделать это?

Заранее спасибо.

ответ

4

На шаге 2, если есть перенаправление, область первоначального запроса теряется, так как перенаправление приведет к другому запросу.

+0

Благодарим вас за ответ. Да, ты абсолютно прав. Был элемент в faces-config.xml, и когда я его удалил, параметры были правильно переданы. – Vladimir

+0

Спасибо за знание. Очень признателен. –

Смежные вопросы