2010-11-07 9 views
2

Voici mon problème:Comment tirer des morceaux communs de code de la vue dans mon site Spring MVC

site My Spring MVC va beaucoup compter sur JavaScripts externes/CSS/Images. Ce domaine doit être configurable. En outre, j'aimerais pouvoir lancer des pièces telles que mon en-tête et mon pied de page dans des fichiers JSP pouvant être inclus. Lors de l'ajout d'une image à une JSP, je dois pouvoir générer un lien vers l'image en utilisant le domaine de contenu statique externe configurable.

Ma solution à ce jour:

Jusqu'à présent, je pense que je peux utiliser une combinaison de modèles JSP qui charge les classes de configuration dont la sortie mes valeurs de configuration (de sorte que les pages JSP peut utiliser ces valeurs de configuration) . Je suppose que le seul problème que j'ai vraiment avec cela est que maintenant j'ai besoin de tous mes JSP pour importer le modèle, puis importer également ces classes de configuration pour accéder à l'URL de contenu statique.

Ma question:

Est-ce que ma solution décrite ci-dessus sens? Est-ce vraiment la meilleure approche? Qu'ont généralement fait les gens pour résoudre ce problème? Quelles autres solutions sont disponibles pour extraire et réutiliser les composants JSP?

Notes:

  • J'utilise Spring MVC 3 ... Je suis un peu nouveau au printemps et MVC en général
  • Ce n'est pas un site trop grand ... et ne sera pas utilisé dans un environnement de production complet .

Répondre

4

Spring MVC est excellent sur le C partie, assez bien sur le M, mais mais un peu de non-présentation sur le V. Il délègue toutes les responsabilités de vue à d'autres frameworks, généralement JSP/Freemarker/Velocity. Cela est correct dans la plupart des cas, car ces cadres de vue fournissent de nombreux mécanismes pour assembler des vues composites. Ils sont assez basiques, cependant.

Cependant, parfois vous voulez quelque chose de plus rigoureux, ce qui est là que les gens de Tiles ou Sitemesh entrent en jeu. Ces cadres spécialisés dans l'assemblage des vues Web à partir de composants, et sont pour la plupart agnostique du framework MVC qu'ils travaillent avec. Spring MVC n'aidera ni n'entravera votre utilisation de ces frameworks, et ils s'intègrent assez bien (SiteMesh fait, de toute façon, je ne suis pas très familier avec Tiles, mais j'entends bien faire le job).

+0

N'avez-vous pas confondu les rayures avec des carreaux? – axtavt

+0

@axtavt: Bugger, donc j'ai. Comment ai-je géré cela? Fixe, merci. – skaffman

+0

J'ai décidé d'utiliser Tiles pour le moment car mon site ne sera pas trop grand et Tiles me semble assez simple à intégrer et à utiliser. Merci! – Polaris878