2012-06-15 141 views
0

在JSF 2中,您可以传递ID,可以作为请求参数与f:viewParam@ManagedProperty(即讨论here)发送其他内容。在视图之间传递对象

但是,我想传递视图之间的对象,从view1到view2。我的支持豆是@ViewScoped。我曾尝试以下:

<f:setPropertyActionListener value="#{view1Bean.myObject}" target="#{view2Bean.myObject}" /> 

这将创建在厂景一view2Bean,查看视图2时不再存在。因此,view2Bean.myObjectnull,因为该属性从未在view2bean的特定实例上设置。

我考虑使用Flash范围,这似乎正是这个工具。但是,我读了BalusC的某处说,它在我正在使用的Mojarra中被破坏了。

在视图之间传递物体的最佳方式是什么?

+0

通常情况下,如果您在视图之间切换,则会话范围适用于需要存活的对象。 –

回答

1

但是,我想传递视图之间的对象,从view1到view2。

你可以只通过对象的唯一ID作为参数传递给下一个视图和附加Converter<f:viewParam>

<f:viewParam name="id" value="#{bean.entity}" converter="entityConverter" /> 

我认为使用Flash的范围,这似乎正好是这个工具。但是,我读了BalusC的某处说,它在我正在使用的Mojarra中被破坏了。

这将作为当前钻嘴鱼科的版本只每当意见是在不同的路径(文件夹)由于路怎么FLASH COOKIE中的作品失败。如果他们在相同的路径(文件夹),那么它应该工作得很好。