Quelles sont les composantes du MVC dans le cadre du JSF MVC?
Dans JSF, framework MVC qui est le Modèle, Vue et Contrôleur?
3 réponses
cela dépend du point de vue (écrit).
dans la grande image architecturale, votre propre code JSF est le V :
M - domaine D'activité/couche de Service (par exemple EJB/JPA/DAO))
V - votre code JSF
"1519100920 C - FacesServlet
sur la photo du promoteur, l'architecture V est à son tour divisible comme suit:
M - Entity
V - Facelets / JSP page
C - Managed bean
dans la petite image client, le développeur V est à son tour divisible comme ci-dessous:
M - JSF composant de l'arbre
V - sortie HTML rendue
C - Client (webbrowser)
dans L'image JavaScript encore plus petite, le client V est à son tour divisible comme ci-dessous:
M - arbre DOM HTML
V - présentation visuelle
C - auditeur fonctions (interaction entre l'utilisateur final et Ajax)
donc c'est essentiellement un M(M(MVC)C)C;)
notez que certains démarreurs et même certains tutoriels-très basiques - mélangent/copient/aplatissent les propriétés de l'entité dans le bean managé, ce qui ferait effectivement du controller un modèle. Inutile de dire qu'il s'agit d'une mauvaise conception (c.-à-d. pas d'une conception propre MVC).
les extraits de code dans les réponses suivantes illustrent la bonne approche MVC:
- JSF Contrôleur, de Service et de DAO
- création de pages maître-détail pour les entités, comment les lier et quelle portée choisir
- passer un haricot commun géré par la FJ2 dans la base de données EJB ou mettre ce qui est requis dans un objet de transfert
- Filtre de ne pas initialiser l'EntityManager
- javax.persistance.TransactionRequiredException in small facelet application
M odel serait votre ManagedBean
V iew serait jsp
, XHTML
(eh bien, vous pouvez l'adapter à différentes vues ici )
C ontroller sera FacesServlet
mise à jour, espérer que cette image AIDE plus""
le servlet des faces gère le cycle de vie des faces de sorte que c'est le contrôleur combiné avec votre propre code qui peut être appelé pendant chaque phase du cycle de vie