簡體   English   中英

在視圖之間傳遞對象

[英]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.myObjectnull ,因為從未在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM