如何在请求范围的bean之间传递参数

时间:2010-05-14 15:10:45

标签: spring jsf request icefaces

这个问题一直困扰着我。我的应用程序使用ICEFaces作为UI框架,使用Spring 2.5作为依赖注入。另外,Spring实际上维护了我们所有的支持bean,而不是ICEFaces框架,因此我们的faces-config基本上是空的。

导航甚至没有通过导航规则真正处理。我们使用window.open执行手动重定向到新窗口。

我们的所有bean都在appContext文件中定义为请求范围。我有一个由BackingBeanABC支持的Page ABC。在那个支持bean里面,我有一个参数说:

private Order order;

然后我有BackingBeanXYZ支持的Page XYZ。当我从页面ABC重定向到页面XYZ时,我想将'order'属性从ABC传输到XYZ。问题是因为一切都是请求范围的,我正在执行重定向,我正在失去'description'的价值。

在重定向期间,必须有一种更简单的方法在请求范围内的bean之间传递对象。任何人都可以帮助解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

会话范围解决了您的问题。

您可以在Spring reference documentation中了解更多相关信息。

另一种方法是直接在HttpSession对象上设置订单对象。我本来希望这样,只有你的服务,控制器和存储库由Spring管理。

答案 1 :(得分:1)

创建一个会话范围的bean,请求范围bean可以通过FacesContext引用它。