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?
Réponses
Trop de publicités?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.
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.
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.
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.
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>