这个问题一直困扰着我。我的应用程序使用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之间传递对象。任何人都可以帮助解决这个问题吗?
答案 0 :(得分:1)
会话范围解决了您的问题。
您可以在Spring reference documentation中了解更多相关信息。
另一种方法是直接在HttpSession对象上设置订单对象。我本来希望这样,只有你的服务,控制器和存储库由Spring管理。
答案 1 :(得分:1)
创建一个会话范围的bean,请求范围bean可以通过FacesContext引用它。