JSF MVC 框架中的 MVC 有哪些组件?
2022-08-31 10:22:43
在 JSF MVC 框架中,谁是模型、视图和控制器?
在 JSF MVC 框架中,谁是模型、视图和控制器?
这取决于观点(双关语)。
在大的体系结构图景中,你自己的 JSF 代码是 V:
M - 业务域/服务层(例如 EJB/JPA/DAO)
V - 您的 JSF 代码
C - FacesServlet
在开发人员图片中,架构 V 又可以划分,如下所示:
M - 实体
V - Facelets/JSP 页面
C - 受管 Bean
在较小的客户端图片中,开发人员 V 依次可划分如下:
M - JSF 组件树
V - 呈现的 HTML 输出
C - 客户端(Web 浏览器)
在更小的JavaScript图片中,客户端V反过来是可分割的,如下所示:
M - HTML DOM 树
V - 可视化演示
C - 事件侦听器函数(最终用户交互和 Ajax)
所以它基本上是一个M(M(M(MVC)C)C)C;)
请注意,一些初学者,甚至一些非常基本的教程在托管 Bean 中混合/复制/展平实体的属性,这将有效地使控制器成为模型。毋庸置疑,这是糟糕的设计(即不是干净的MVC设计)。
以下答案中的代码片段说明了正确的 MVC 方法:
在《Java EE 8 中的 JSF 权威指南》一书中,在第 8 章“支持 Bean”,第 276 页中,下面的 Venn 图用于说明在与 JSF 开发人员相关的上下文中 MVC 范例中支持 Bean 的位置。版权免责声明:书籍由我撰写,图片由我创作。
M odel将是你的ManagedBean
V iew将是,(好吧,你可以在这里容纳各种景色)jsp
XHTML
C ontroller 将是FacesServlet
更新,希望这张照片能帮助更多