我有一個場景,並沒有明確的想法,這工作呢。如何在JSF 2中的bean之間傳遞信息?
這裏的示例場景:
- 我有一個myView.xhtml文件,可以將顯示爲一個窗口彈出或2其他容器XHTML一個primefaces對話框彈出,讓我們說container1.xhtml和container2.xhtml(該myView.xhtml包含在類似的東西?
<ui:include src="myView.xhtml" />
) - 而且,我們也有觀點作用域bean,我們姑且稱之爲myViewBean,container1Bean和container2Bean
- container1Bean有財產transactionDate和container2Bean具有transDate
- myViewBean的@PostConstruct方法的屬性將查詢基於類型日期的參數數據庫。
- 在container1.xhtml,如果用戶點擊一個按鈕,將彈出myView.xhtml,container1Bean應該能夠提供它的transactionDate到myViewBean ,並且myViewBean將能夠基於它在@PostConstruct方法中進行查詢。
- 在container2.xhtml,如果用戶點擊一個按鈕,將彈出myView.xhtml,container2Bean應該能夠提供它的transDate到myViewBean ,並且myViewBean將能夠基於它在@PostConstruct方法中進行查詢。
我想使用@Inject Container1Bean和@Inject Container2Bean在MyViewBean,讓裏面的MyViewBean,我可以得到transactionDate容器1豆子或transDate container2Bean。決定哪個容器bean是活動的是檢查哪一個不是null。
但是,如果容器豆生長,有可能是其他容器豆是利用MyViewBean,而@Inject ContainerXXBean將在數量增長內MyViewBean。必須有其他解決方案。
請分享如何完成此操作的想法..謝謝! :-)
謝謝!
謝謝您的建議。而且我非常感興趣的是您關於審查架構的建議。我有一個基本的想法,即每個頁面都有它自己的view-scoped-bean來處理每個頁面的操作。此外,有些頁面可以重用,可以從其他頁面查看,並且可以參數化(就像示例一樣,viewBean可以根據參數具有不同的查詢結果)。你有關於如何分割jsf bean的建議嗎?我一直想知道這方面的最佳做法。謝謝 ! – bertie 2011-03-18 15:37:49
我只是說,在紙上畫一個小圖。你可以共享一個bean來獲得多個視圖,有時它會有所幫助。另外,如果圖上的多個視圖共享太多信息,只需讓它們共享該bean。剩下的問題是,問問自己是否應該有參數視圖(應該可以通過更改url來影響視圖?),或者只需調用方法(使用可能是對象的參數)來導航。 – ymajoros 2011-03-21 06:32:44
謝謝你..這是有道理的! – bertie 2011-03-22 04:20:08