Sommaire: Prototype Spring MVC
1 OBJET DU DOCUMENT
2 INTERET DE LA SOLUTION
2.1 Spring MVC
2.2 ACubeSerializer
2.3 Limitations par rapport au prototype Struts2
3 DESCRIPTION DU PROTOTYPE
3.1 Organisation des fichiers
3.2 fichiers de ressources et de la gestion des langues
3.3 Contrôleurs
3.4 Vues
Extrait du cours Prototype Spring MVC
2 INTERET DE LA SOLUTION
2.1 SPRING MVC
Par rapport à Struts 2 : éviter un framework supplémentaire, qui n’est de toute façon par utilisé à 100% dans le cas ACube.
2.2 ACUBESERIALIZER
Par rapport à StrutsCX et la transformation XSLT de Struts2 :
– basé sur des bibliothèques à jour (StrutsCX est bloqué sur JDOM0.9)
– contrôle de la sérialisation des objets Java en XML, ce qui permet de se passer dans la majorité des cas de feuilles de style et, si besoin, de contrôler à 100% la génération du XML (en écrivant le code Java nécessaire)
Caractéristiques :
– petit composant : une trentaine de classe petites ou moyennes,
– dépendances limitées : aucune sur le reste de LISE, JDOM 1.0, Log4J et commons-digester (pour la compilation, mais non utilisé par le prototype)
– configurable : toute la sérialisation des objets Java est configurable ou remplaçable par du code spécifique (une interface à implémenter)
– facile à intégrer : 2 petites classes pour l’utiliser comme vue Spring.
2.3 LIMITATIONS PAR RAPPORT AU PROTOTYPE STRUTS2
API « POJO » limitée : l’interface « ThrowawayController », qui permet de définir des actions indépendantes de l’API servlet, n’a pas d’implémentation qui offre des fonctionalités de base (remplissage et validation du bean de formulaire) L’interface « Controller », avec des implémentations proposant des fonctionalités équivalentes à celles de Struts, repose sur l’API servlet, mais les packages « mock » de Spring permettent de faire quand même des tests unitaires.
API de validation limitée : le « Validator » doit être écrit en Java, et l’API fournie par Spring est très limitée (rien à part le test de chaînes vides). La documentation de Spring explique que l’API de validation permet simplement d’utiliser d’autres bibliothèques (commons-validator). En particulier, pas de description XML des règles de validation.
…….
Prototype Spring MVC+ACubeSerializer (290 Ko) (Cours PDF)