在JSF MVC框架中谁是Model,View和Controller?
这取决于观点(双关语)。
在大型架构图片中,您自己的JSF代码是V:
M - 业务域/服务层(例如EJB / JPA / DAO) V - 您的JSF代码 C - FacesServlet
在开发人员图片中,建筑V依次可分为如下:
M - 实体 V - Facelets / JSP页面 C - 托管bean
在较小的客户端图片中,开发人员V又可以分类如下:
M - JSF组件树 V - 呈现HTML输出 C - 客户端(webbrowser)
在较小的JavaScript图片中,客户端V又可分为如下:
M - HTML DOM树 V - 视觉呈现 C - 事件监听器函数(最终用户交互和Ajax)
所以它基本上是M(M(M(MVC)C)C)C;)
请注意,一些启动器甚至一些非常基本的教程在托管bean中混合/复制/展平实体的属性,这将有效地使控制器成为模型。不用说,这是糟糕的设计(即不是一个干净的MVC设计)。
以下答案中的代码片段说明了正确的MVC方法:
在The Definitive Guide to JSF in Java EE 8一书中,在第8章“Backing beans”,第276页中,下面的Venn图用于说明在与JSF开发人员相关的上下文中的支持bean在MVC范例中的位置。版权免责声明:本书由我撰写,图片由我创作。
模特将是你的qazxsw poi
查看将是qazxsw poi,qazxsw poi(你可以在这里容纳各种观点)
控制器将是qazxsw poi
更新,希望这张图片更有帮助
faces servlet管理faces生命周期,因此在这个意义上,控制器与你自己的代码相结合,可以在每个生命周期阶段调用
ManagedBean
Java Server Faces是一个MVC Web框架,其中MVC组件如下,
MVC流程 -
jsp