2012-06-15 142 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中的作品失敗。如果他們在相同的路徑(文件夾),那麼它應該工作得很好。