4 votes

Comment faire correspondre les beans de modèle aux beans de modèle de vue dans Spring MVC ?

Dans mon application Spring MVC, nous avons formulaire qui sont mis en correspondance avec les objets <form:form dans JSP. Ces objets sont séparés de mes beans de modèle réguliers, et forment vraiment une sorte de modèle de vue . La difficulté avec ces objets est le mappage entre ces objets et les beans de modèle réels attendus par les objets de service. Actuellement, nous avons écrit manuellement le code de mappage des formulaires aux beans et vice versa dans les contrôleurs. Cette méthode est loin d'être optimale en raison de la quantité de code supplémentaire qu'elle requiert. Les autres options que nous avons envisagées sont les suivantes.

  • Écrivez une classe de cartographie. Cela nécessite toujours d'écrire manuellement le code, mais au moins il n'est pas dans le contrôleur.
    • Générer automatiquement la classe de mapping. Cela nécessiterait probablement de générer et de mettre à jour manuellement une sorte de fichier de mappage.
  • Nommez les propriétés dans les beans et les formulaires de la même façon et utilisez la méthode de Spring. BeanUtils.copyProperties pour les déplacer d'avant en arrière. Cela semble mauvais parce que ce lien n'est pas évident et pourrait provoquer un comportement étrange à l'exécution s'il n'était pas maintenu cohérent.
  • Écrire l'objet du formulaire comme un façade qui conserve un haricot en interne et le met à jour.

Quelle est la meilleure méthode pour réaliser cette action pour la santé à long terme du projet ?

1voto

ayengin Points 744

Je vous suggère d'utiliser bouteur Le seul problème est que vous devrez toujours créer la classe de vue manuellement. Vous pouvez également automatiser cela avec la génération de code.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X