2

我从 JSF 1.2 迁移到 JSF 2.0,似乎在切换过程中遗漏了一些东西。我有以下情况:

  1. 一页上有一个按钮,actionListener 设置为一个托管 bean 的方法,该方法通过调用向请求添加对象FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("foo", fooObject);
  2. 导航被正确处理到初始化其他托管 bean 的其他页面。
  3. 其他托管 bean 的构造函数尝试通过调用从请求中检索传递的对象,FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("foo");并使用接收到的值初始化自身。

两个托管 bean 都是请求范围的。我注意到构造函数无法从请求中检索正确的值,因为请求映射不包含“foo”键。

我究竟做错了什么?有一个更好的方法吗?

提前致谢。

4

1 回答 1

4

在第 2 步中,如果存在重定向,则初始请求范围丢失,因为重定向会导致另一个请求。

于 2010-11-01T17:44:28.177 回答