我想在我的網站上有一個基於Ajax的選項卡式界面。JSF 2.0 ViewScoped Bean何時死亡?
我也想每個選項卡都有一個bean。
當離開標籤頁時,預計這些豆類是「出生」,「死亡」。
重要 - 標籤之間的切換必須是AJAX事件,而不是整頁重繪。
我認爲@ViewScoped
是適合這種行爲類型的範圍,但是當我離開選項卡時,我陷入了殺死bean的問題。據我所知,一個@ViewScoped
bean只會在重定向/導航事件中死亡。
是否有正確的方法使@ViewScoped
豆死?我應該使用不同的範圍嗎?
謝謝!
UPDATE
閱讀BalusC對this問題的答案是很好的跡象:
視圖作用域爲您提供了同樣的看法 互動豆住,只要(即返回空或空的bean操作方法)。當您轉到其他視圖時,例如通過點擊一個鏈接或返回一個不同的動作結果,那麼視圖範圍的bean將在渲染響應結束時被丟棄 ,並且在下一個請求中不可用。
因此,根據這一點,我可以返回從操作方法不同的結果,使@ViewScoped
豆模具。
但要做到這一點,我有一個從操作方法(JSF 2隱式導航)的結果後禁用導航,我不知道該怎麼做(或者如果這是實現我的目標,以正確的方式)
[本答案](https://stackoverflow.com/questions/15265433/how-and-when-is-a-view-scope-bean-destroyed-in-jsf/15391453#15391453)至問題*「在JSF中視圖範圍bean何時被銷燬?」*可能是相關的。 – Lii 2016-01-20 16:09:16