JSF MVC框架中的MVC是什么组件?

在Model,View和Controller的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 - 客户端(网页浏览器)

在更小的JavaScript图片中,客户V又可以如下划分:

M - HTML DOM树
V - 视觉呈现
C - 事件监听器函数(最终用户交互和Ajax)

所以它基本上是一个M(M(M(MVC)C)C)C;)

请注意,有些初学者甚至是某些基础教程都会在托管bean中混合/复制/压扁实体的属性,这将有效地使控制器成为模型。 不用说,这是糟糕的设计(即不是一个干净的MVC设计)。

以下答案中的代码片段说明了正确的MVC方法:

  • JSF控制器,服务和DAO
  • 为实体创建主 - 细节页面,如何链接它们以及选择哪个bean范围
  • 将JSF2托管的pojo bean传递到EJB中或将所需内容放入传输对象中
  • 过滤器不会初始化EntityManager
  • 小型facelet应用程序中的javax.persistence.TransactionRequiredException

  • M ManagedBean将成为您的ManagedBean

    V IEW将jspXHTML (当然,你可以在这里容纳各种观点)

    C ontroller将成为FacesServlet

    更新,希望这张照片能够帮助更多

    在这里输入图像描述


    faces servlet管理faces生命周期,所以在这个意义上说,它是控制器与您自己的代码结合在一起,可能会在每个生命周期阶段被调用

    http://www.java-samples.com/images/jsf-lifecycle.gif

    链接地址: http://www.djcxy.com/p/76543.html

    上一篇: What components are MVC in JSF MVC framework?

    下一篇: Show JDBC ResultSet in HTML in JSP page using MVC and DAO pattern