¿Qué componentes son MVC en el marco JSF MVC?

Resuelto yegor256 asked hace 13 años • 4 respuestas

En el marco JSF MVC, ¿quién es el modelo, la vista y el controlador?

yegor256 avatar Feb 24 '11 18:02 yegor256
Aceptado

Esto depende del punto de vista (juego de palabras).

En el panorama arquitectónico general, su propio código JSF es el V :

M - Dominio empresarial/capa de servicio (por ejemplo, EJB/JPA/DAO)
V - Su código JSF
C - FacesServlet

En la imagen del desarrollador, la V arquitectónica se puede dividir como se muestra a continuación:

M - Entidad
V - Facelets/página JSP
C - Bean administrado

En la imagen más pequeña del cliente, el desarrollador V se puede dividir como se muestra a continuación:

M - Árbol de componentes JSF
V - Salida HTML renderizada
C - Cliente (navegador web)

En la imagen de JavaScript aún más pequeña, el cliente V se puede dividir como se muestra a continuación:

M - Árbol HTML DOM
V - Presentación visual
C - Funciones de escucha de eventos (interacción del usuario final y Ajax)

Entonces es básicamente un M(M(M(MVC)C)C)C;)

Tenga en cuenta que algunos principiantes e incluso algunos tutoriales —muy básicos— mezclan/copian/aplanan las propiedades de la entidad en el bean administrado, lo que efectivamente convertiría al controlador en un modelo. No hace falta decir que se trata de un diseño deficiente (es decir, no es un diseño MVC limpio).

Los fragmentos de código de las siguientes respuestas ilustran el enfoque MVC correcto:

  • Controlador JSF, Servicio y DAO
  • Crear páginas maestras y de detalles para entidades, cómo vincularlas y qué alcance de bean elegir
  • Pasar un bean pojo administrado JSF2 a EJB o colocar lo necesario en un objeto de transferencia
  • El filtro no inicializa EntityManager
  • javax.persistence.TransactionRequiredException en una aplicación facelet pequeña

En los libros The Definitive Guide to JSF in Java EE 8 , capítulo 8 "Backing beans", página 276, y The Definitive Guide to Jakarta Faces in Jakarta EE 10 , capítulo 8 "Backing Beans", página 288, el siguiente diagrama de Venn es se utiliza para ilustrar la posición del bean de respaldo en el paradigma MVC dentro del contexto relevante para el desarrollador JSF. Descargo de responsabilidad de derechos de autor: los libros antes mencionados están escritos por mí y la imagen fue creada por mí.

ingrese la descripción de la imagen aquí

BalusC avatar Feb 24 '2011 12:02 BalusC

El modelo sería tuManagedBean

La vista sería (bueno jsp, XHTMLpuedes acomodar varias vistas aquí)

El controlador seráFacesServlet

Actualización, espero que esta imagen ayude más.

ingrese la descripción de la imagen aquí

Jigar Joshi avatar Feb 24 '2011 11:02 Jigar Joshi