我正在阅读JSF,我感到非常困惑,为什么JSF是MVC框架(或者至少哪些部分属于哪个“字母”)。
我看了这个问题:JSF MVC框架中的MVC是什么组件?
我在这里读过,如果您不以汇总视图查看它,则模型是您的实体,视图是您的XHTML代码,控制器是托管bean。嗯…好,但是视图不是经常依赖于执行进一步的业务逻辑调用(例如返回一组实体),描述是否仍然合适?
我读过的一本书将其描述为托管bean,是Faces Servlet(控制器)用来调用业务层(模型)的某种“消息”带来者,然后XHTML代码就是视图。
有太多的解释和差异,所以我不知道该如何理解。
之所以在JSF和许多其他Web框架中通常不十分清楚,其一部分与MVC的哪一部分相对应,部分原因在于MVC模式最初是为桌面应用程序设计的。
在桌面应用程序中,节点M,V和C是最大连接图,这意味着每个部分都可以与其他每个部分进行通信。例如,如果模型发生更改,则可以将此更改推送到视图。如果在桌面应用程序中有视图的多种表示形式,这尤其明显。更改一个,然后实时查看另一个更新。
由于Web应用程序的客户端/服务器和请求/响应性质,经典MVC不会将1:1映射到大多数Web框架。
具体来说,在JSF中,映射如下:
模型-服务/ DAO以及它们产生和使用的实体。入口点是托管bean,但是在Java EE(JSF是其一部分)中,这些工件通常分别由EJB和JPA实现。
视图-UI组件及其组成的整个页面。这完全属于JSF领域,UIComponent分别由JSF和Facelets实现。
控制器-交通警察处理用户的命令和传入数据,将其路由到正确的部分并选择要显示的视图。在JSF中,没有编写此控制器,但是框架已经提供了它(它是FacesServlet)。
特别是最后一部分经常没有被很好地理解:在JSF中,您不需要实现控制器。因此,后备bean或任何其他类型的托管bean都不是控制器。
第一部分(模型)也不总是很清楚。业务逻辑可以由EJB和JPA实现,但是从JSF的角度来看,值绑定引用的所有内容都是模型。这也是JSF生命周期阶段之一的名称来自:Update Model。在此阶段,JSF将数据从UI组件推送到模型中。从这个意义上讲,(JSF)受管bean是模型。
尽管JSF本身没有明确定义概念,但是托管Bean经常重复使用和特定使用,称为后备Bean。
对于JSF,支持bean仍然是模型,但是实际上,它是位于Model,View和Controller中间的管道元素。由于它执行的某些任务可能被视为某些控制器任务,因此通常会误认为它是控制器。但是,如前所述,这是不正确的。它还可以执行一些模型任务,偶尔也可以执行一些视图逻辑。
问题内容: 在JSF MVC框架中,谁是模型,视图和控制器? 问题答案: 这取决于观点(双关语意)。 在总体架构图中,您自己的JSF代码是V: M-业务域/服务层(例如EJB / JPA / DAO) V-您的JSF代码 C -FacesServlet 在开发人员图中,体系结构V可以如下划分: M-实体 V -Facelets / JSP页面 C-托管bean 在较小的客户图中,开发人员V可以如下
问题内容: 在JSF MVC框架中,谁是模型,视图和控制器? 问题答案: 这取决于观点(双关语意)。 在总体架构图中,你自己的JSF代码是V: M-Business domain/Service layer (e.g. EJB/JPA/DAO) V - Your JSF code C - FacesServlet 在开发人员图中,体系结构V可以如下划分: M - Entity V - Facele
问题内容: 我将开始学习JSF,但是首先我想了解它作为MVC框架的概况。 有很多答案,其中有很多赞扬解释了JSF中的MVC层,但是它们通常是矛盾的。 BalusC的答案: JSFMVC框架中的MVC是什么组件? 在总体架构图中,您自己的JSF代码是 V : M- 业务域/服务层(例如EJB / JPA / DAO) V- 您的JSF代码 C -FacesServlet 在开发人员图中,体系结构 V
本文向大家介绍Javascript MVC框架Backbone.js详解,包括了Javascript MVC框架Backbone.js详解的使用技巧和注意事项,需要的朋友参考一下 随着JavaScript程序变得越来越复杂,往往需要一个团队协作开发,这时代码的模块化和组织规范就变得异常重要了。MVC模式就是代码组织的经典模式。 (……MVC介绍。) (1)Model Model表示数据层,也就是程
快速入门三、理解MVC 本章将讲述在网络系统(WEB系统)开发中,MVC(模型-视图-控制器)架构的理念、设计以及在sp框架中的实际应用方式等。 首先我们来看看MVC架构的示意图: 从上图我们可以将MVC简单地理解成: 和访问者交互的是控制层(Controller层),控制器(controller)是同类交互的集合,每一个交互的操作,都对应了一个动作(action)。在sp框架中,全部的控制器类都
我读了一些帖子(特别是BalusC帖子)并在谷歌上搜索了原因(不深入),但我找不到为什么不应该使用实体bean作为托管bean。原因是什么?(我正在学习“ProJSF和HTML5”,在本书中,实体bean被用作托管bean。)