[英]JSF, How to set a property in a different page/backing bean and then navigate to that page?
我正在使用JSF 2.0,並嘗試在我的App中的不同頁面之間傳遞值。
設置如下:我有一個名為userSelect的頁面,該頁面具有支持bean userSelectBacking。 在此頁面上,我顯示可以使用h:commandbutton進行選擇和提交的用戶列表,提交頁面時,導航將轉到userEdit頁面。
我有一個名為userEdit的頁面,該頁面具有一個后備bean userEditBacking,它顯示用戶的信息並允許對該用戶進行編輯。
我想將從userSelect頁面選擇的用戶傳遞到userEdit頁面。 我當前正在使用f:setPropertyActionListener從userSelect頁面在userEdit支持中設置用戶,但是當我導航到userEdit頁面時,它將丟失我設置的信息。
有沒有一種方法可以在兩個頁面/備用bean之間傳遞值?
謝謝
我目前正在使用f:setPropertyActionListener從userSelect頁面的userEdit支持中設置用戶
它應該工作。
但是,當我導航到userEdit頁面時,它會丟失我設置的信息。
如果數據加載邏輯錯誤,或者您在請求bean范圍之后觸發重定向,就會發生這種情況。
要修復數據加載邏輯,只需確保在請求范圍內的bean的情況下,在后續請求中保留相同的數據模型。 通常,您為此使用bean的構造函數或在getter中進行延遲加載。 如果這不是一個選擇,那么您需要將bean放在更大的范圍內,例如@ViewScope
或@SessionScope
。
要解決重定向問題,要么不觸發重定向(即從導航案例中刪除<redirect/>
,要么不調用ExternalContext#redirect()
),或者將bean放在更大的范圍內。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.