78 votes

Alternatives à JSP pour la couche de vue Spring MVC

Je cherche à créer une nouvelle application à partir de zéro et utiliserai probablement Spring MVC et éventuellement Spring Web Flow. Les projets créés par Spring Roo utilisent Spring MVC et éventuellement Web Flow. Quelles sont les bonnes alternatives pour la technologie d'affichage, ou est-ce que JSP avec taglibs spring et jstl et jquery est la voie à suivre?

53voto

Shawn Sherwood Points 612

J'ai récemment découvert Thymeleaf .

Cela semble être un remplacement complet des JSP et son intégration à Spring MVC. L'approche de modèle ressemble davantage à HTML et peut être plus acceptable pour vos concepteurs d'interface utilisateur. Ils ont un petit article qui compare les deux solutions côte à côte.

50voto

BalusC Points 498232

Techniquement, la seule alternative à la JSP est Facelets. Jusqu'à maintenant JSF est le seul framework MVC qui peut fonctionner sur des Facelets. Et avec beaucoup de succès d'ailleurs. Facelets comble les lacunes de JSP à un haut degré. La création de modèles de capacités et la possibilité d'utiliser des composants composites sont une grande.

Pour Spring MVC, il y a techniquement pas d'autres alternatives que de JSP. Vous pouvez mettre une couche d'abstraction supplémentaire entre dans la saveur d'un template cadre comme la Vitesse ou Freemarker, mais c'est après tout encore "sur le dessus de JSP". Facelets est entièrement distinct ici.

17voto

digitaljoel Points 13557

J'ai récemment commencé à utiliser le langage HTML simple et jQuery pour la présentation avec Spring MVC créant uniquement une vue JSON.

Jusqu'ici, tout se passe très bien et même si je dois effectuer le travail en javascript, cela facilite beaucoup les interactions avec mon concepteur et accélère les délais d'exécution en cas de modification, car je n'ai pas à convertir son code HTML en fichier JSP. Le jury est toujours sur la maintenabilité globale du site.

16voto

rompetroll Points 2163

La documentation de Springs suggère également Freemarker. Freemarker est (pour autant que je sache) rapide et intègre des fonctionnalités de type ressort comme la reliure.

16voto

monzonj Points 1791

Vous pouvez avoir autant de vue des technologies que vous le souhaitez sur Spring MVC. J'ai freemarker et JSP vue des résolveurs. Quand je tombe sur un autre point de vue que c'est trop compliqué dans Freemarker (ou tout simplement plus pratique en JSP) j'ai créer une page JSP vue. Par exemple, le Printemps JSLT fait un grand travail de manipulation des formes. Pour cela j'ai utiliser JSP point de vue, mais pour à peu près tout le reste j'ai freemarker points de vue.

Jetez un oeil à la Spring MVC documentation pour savoir comment configurer plusieurs vue résolveurs, en gros:

<bean name="freeMarkerViewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
   <property name="cache" value="true"/>
   <property name="prefix" value=""/>
   <property name="suffix" value=".ftl"/>
   <property name="order" value="1"/> <!--NOTICE THE ORDER-->
</bean>

<bean id="jspViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
    <property name="order" value="2"/> <!--NOTICE THE ORDER-->
</bean>

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