在JSF MVC框架中,誰是模型,視圖和控制器?JSF MVC框架中的MVC是什麼組件?
回答
這取決於觀點(雙關語)。
在大的體系結構圖,你自己的JSF代碼是V:
中號 - 商務域/服務層(如EJB/JPA/DAO)
V - 您的JSF代碼
ç - FacesServlet的
在顯影劑圖像,建築V依次迪維dable如下:
中號 - 實體
V - 的Facelets/JSP頁
Ç - 管理豆
在較小的客戶圖像時,顯影劑V是反過來可分割如下:
M - JSF組件樹
V - 渲染HTML輸出
Ç - 客戶端(web瀏覽器)
在更小的JavaScript的圖像,在客戶端V是反過來可分割如下:
中號 - HTML DOM樹
V - Visual presentation
C - Event listener func行動(終端用戶互動和阿賈克斯)
所以它基本上是一個M(M(M(MVC)C)C)C;)
請注意,有些新手甚至一些—非常基本—教程打成一片/複印/扁平化託管bean中的實體屬性,這將有效地使控制器成爲模型。不用說,這是糟糕的設計(即不是乾淨的MVC設計)。
在下面的答案的代碼片段演示正確的MVC方法:
- JSF Controller, Service and DAO
- Creating master-detail pages for entities, how to link them and which bean scope to choose
- Passing a JSF2 managed pojo bean into EJB or putting what is required into a transfer object
- Filter do not initialize EntityManager
- javax.persistence.TransactionRequiredException in small facelet application
中號奧德爾將是你ManagedBean
V IEW將jsp
,XHTML
(當然你可以適應這裏各種視圖)
Ç ontroller將FacesServlet
更新,希望這張圖可以幫到更多
+1被調用,有道理,雖然我可能會說你模型是實體(如果有的話),控制器是Managed Beans(除了FacesServlet) – 2011-02-24 11:48:43
@Jigar,如果'FacesServlet'是一個控制器,我不能擴展它。我不能擁有我自己的控制員......我同意Shervin的觀點,即Managed Beans是Controller。 Shervin,如何發佈你自己的替代答案? – yegor256 2011-02-24 12:08:19
它是控制的祕密'FacesServlet'。 – 2011-02-24 12:09:07
Faces Servlet進行管理面臨的生命週期所以在這個意義上它是控制器用自己的代碼合併,可能在每個生命週期階段
- 1. 組件基礎MVC框架和基於動作的MVC框架
- 2. 什麼是最好的ASP.NET MVC框架/架構,爲什麼?
- 3. 關於Zend框架,MVC是什麼?
- 4. JSF與Spring MVC的優點是什麼?
- 5. 什麼是asp.net MVC 3中使用的測試框架Visualstudio 2012
- 6. MVC框架中Index.php的用途是什麼?
- 7. MVC應用程序中IoC框架的用途是什麼?
- 8. 什麼是Full stack mvc框架? Grails是完整的堆棧框架?
- 9. Spring MVC什麼是服務組件?
- 10. 爲什麼war文件不是在eclipse中的spring mvc框架中構建的?
- 11. 什麼是MVC
- 12. 哪些是J2ME MVC框架?
- 13. 使用ASP.NET MVC 2 + C#4的最佳BDD框架是什麼?
- 14. 使用MVC 3框架的好處是什麼?
- 15. 在ASP.NET MVC框架中使用MicrosoftReportView控件的最佳方式是什麼?
- 16. Flex MVC框架
- 17. Javascript MVC框架
- 18. Javascript MVC框架
- 19. Flex - MVC框架
- 20. 在MVC框架中傳遞數組
- 21. WPF的MVC框架
- 22. MVC框架和控件
- 23. ASP.NET MVC框架中的Ajax
- 24. MVC框架中的觸發器事件
- 25. 什麼是ASP.NET MVC路由框架選擇?
- 26. Spring MVC和JSF MVC
- 27. MVC iOs和Android框架,你在說什麼,爲什麼?
- 28. 什麼是在ASP.NET MVC的IViewLocationExpander.PopulateValues()()MVC
- 29. ASP.NET MVC和組件架構
- 30. 什麼是MVC Turbine
+1完全同意這兩種哲學,一般情況下大拱門更是如此。實時查看項目。 – 2011-02-24 12:55:54
沒有得到雙關語,仍然有提升 – 2012-12-05 16:21:42
託管bean是不是模型??? – 2013-06-07 07:43:58