JSF的Managed Bean的Request和Session范圍
JSF的Managed Bean的生命范圍,一般人都知道:request 范圍,意味著這個Bean在請求結束之后,就結束了生命周期。而Session范圍,意味著這個Bean在Session的結束生命時,他才結束生命。
舉個例子:Request范圍內的Bean,假設在Page1,通過一個Managed Bean的動作方法,到了Page2,那么刷新Page2,如果Page2中沒有和Page1中對數據的類似處理,那么Page2中的數據就會丟失。
Session內的bean的話,只要Session不結束生命,Page上綁定的數據就不會消失。
題外話:ASP.net2.0的ViewState做的很好,它把狀態記錄在客戶端,但效果類似JSF的Session,比Session的好處是:不依賴與Session的生命周期。
在用JSF的Managed Bean的Request和Session時,特別注意數據的綁定。Request范圍的話,在每次向Server發請求時,都會綁定Managed Bean中定義的數據。但是Session范圍的話,僅僅在Session范圍內讀寫數據,不會在重新綁定Managed Bean中定義的數據。
posted on 2007-06-16 23:31 MingIsMe 閱讀(779) 評論(0) 編輯 收藏 所屬分類: 06 J2EE