What components are MVC in JSF MVC framework?

在Model,View和Controller的JSF MVC框架中?


This depends on the point of view (pun intented).

In the big architectural picture, your own JSF code is the V :

M - Business domain/Service layer (eg EJB/JPA/DAO)
V - Your JSF code
C - FacesServlet

In the developer picture, the architectural V is in turn dividable as below:

M - Entity
V - Facelets/JSP page
C - Managed bean

In the smaller client picture, the developer V is in turn dividable as below:

M - JSF component tree
V - Rendered HTML output
C - Client (webbrowser)

In the yet smaller JavaScript picture, the client V is in turn dividable as below:

M - HTML DOM tree
V - Visual presentation
C - Event listener functions (enduser interaction and Ajax)

So it's basically a M(M(M(MVC)C)C)C ;)

Note that some starters and even some —very basic— tutorials mingle/copy/flatten the entity's properties in the managed bean, which would effectively make the controller a model. Needless to say that this is poor design (ie not a clean MVC design).

The code snippets in the following answers illustrate the right MVC approach:

  • 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

  • M odel would be your ManagedBean

    V iew would be jsp , XHTML (well you can accommodate various views here )

    C ontroller will be FacesServlet

    Update, hope this picture helps more

    在这里输入图像描述


    The faces servlet manages the faces lifecycle so in that sense it is the controller combined with your own code that may get called during each lifecycle phase

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

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

    上一篇: JSF控制器,服务和DAO

    下一篇: JSF MVC框架中的MVC是什么组件?