[英]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.