我有一個問題,更多的設計和架構相關。我來自一個經典的基於MVC的背景,不得不讓我的手弄髒JSF2。我閱讀了JSF2上的IBM文章(http://www.ibm.com/developerworks/library/j-jsf1/),並認爲我理解了整體概念。混淆:JSF2中的Bean與經典MVC控制器的作用
我開始接觸JSF2槽ROO。我覺得ROO(對於任何JSF2類型的應用程序來說都是如此,或者可能不是這樣)正在使用bean非常奇怪/不清楚的用法。一般來說,我不清楚Bean的實際作用是什麼!例如,如果我有一個窗體用於編輯單個用戶條目的視圖,我會在a中初始化用戶,我們稱它爲UserBean(可能存儲在成員變量中)並訪問此變量通過getter。如果我現在想要概述所有用戶,我將再次在UserBean中呈現視圖來保存一組用戶,並再次通過getter訪問此集合。前面的描述實際上是我用jsf做事情的方式。這意味着我會更多地將UserBean用作控制器的全狀態服務。
在典型的控制器情況下,我會爲每種類型的動作(列表用戶,編輯用戶,查看用戶等)創建一個單獨的控制器,並使用特定的初始化數據,這樣我就可以通過控制器分離邏輯上下文。
我經常使用上下文特定的服務,例如,如果我處理用戶經常在應用程序上傳播,我創建一個用戶服務來處理用戶特定的邏輯,這可能是複雜的,可以放入其中。如果我現在看看roo生成的Beans,我會找到編程方式來渲染表單,輸入字段,標籤,再次存儲用戶列表,布爾字段指示數據是否已經加載,單個用戶成員和很多更看起來像放入UserService(或其他)的方法。我想知道這是否是JSF2打算用於語言的方式:將與一個上下文相關的所有內容都推送到bean上,而不是使用服務和編寫處理所有內容的「超級控制器bean」。
我真的不知道,如果你的問題的權利,但你會也許能幫我就是一個提示
- 一個非常典型和值得稱道的示例應用程序,使得使用豆類他們路在何方旨在與jsf2功能和用例相結合使用,例如在給定類型的實體周圍實現基本的CRUD用例。 (一個令人困惑的問題是,在我的例子中,ROO總是使用AJAX和像Modal-Dialogs這樣的JavaScript來實現CRUD邏輯,我想知道JSF是否有更經典的方法來實現這一點?意思是例如基於URL的視圖和用於列表,編輯和查看實體的分離視圖])
- 一個啓發典型的「這就是好方法」的資源JSF模式(也許這個是J2EE模式?)。
非常感謝你!
如果我不清楚,請隨時推薦我具體點!
gbagga!首先感謝!最後,JSF似乎適合了model2模式本身,正如你所說 - 更多的是面向組件的方法。我會閱讀資源來感受它。它可能更好從0開始,手動把事情給不是蜜蜂愚弄我的任何(ROO) - 魔法。再次感謝! –
歡迎你 –
@thedude增加了一個鏈接@ stackoverflow jsf wiki –