[英]Passing objects between Views
在JSF 2中,您可以传递id,String以及可以通过f:viewParam
或@ManagedProperty
作为请求参数发送的其他内容(即此处的讨论)。
但是,我想在视图之间(从view1到view2)传递对象。 我的支持bean是@ViewScoped
。 我尝试了以下方法:
<f:setPropertyActionListener value="#{view1Bean.myObject}" target="#{view2Bean.myObject}" />
这将在view1上创建一个view2Bean
,在查看view2时不再存在。 因此, view2Bean.myObject
为null
,因为从未在view2bean
的特定实例上设置该属性。
我考虑过使用Flash范围,这似乎正是它的工具。 但是,我在某处阅读了BalusC,说它在Mojarra中已损坏,我正在使用它。
在视图之间传递对象的最佳方法是什么?
但是,我想在视图之间(从view1到view2)传递对象。
您可以将对象的唯一ID作为参数传递给下一个视图,并将Converter
附加到<f:viewParam>
。
<f:viewParam name="id" value="#{bean.entity}" converter="entityConverter" />
我考虑过使用Flash范围,这似乎正是它的工具。 但是,我在某处阅读了BalusC,说它在Mojarra中已损坏,我正在使用它。
从当前的Mojarra版本开始,只有当视图位于不同路径(文件夹)时,才会因Flash cookie的工作方式而失败。 如果它们在同一路径(文件夹)中,则应该可以正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.