J'ai récemment commencé à mettre à niveau certaines applications pour utiliser Spring Webflow 2, et je souhaite utiliser la nouvelle fonctionnalité Ajax fournie avec Webflow 2. Quelqu'un peut-il me diriger vers un didacticiel l'intégration de Tiles 2 avec Spring Webflow (puisque c'est apparemment ce qu'ils recommandent). J'ai trouvé la documentation fournie avec Webflow 2 à cet égard pour être absolument inutile.Intégration de Spring Webflow 2 et de tuiles Apache
Répondre
C'est ce que je l'ai fait pour le faire fonctionner avec webflow 2 et tuiles 2.0
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles-defs/templates.xml</value>
</list>
</property>
</bean>
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/flow/**/*.html">
flowController
</prop>
<prop key="/**/*.html">viewController</prop>
</props>
</property>
<property name="order" value="1" />
</bean>
<bean id="tilesViewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.tiles2.TilesView" />
</bean>
<bean id="flowController"
class="org.springframework.webflow.mvc.servlet.FlowController">
<property name="flowExecutor" ref="flowExecutor" />
</bean>
<webflow:flow-executor id="flowExecutor"
flow-registry="flowRegistry" />
<webflow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices"
base-path="/WEB-INF/flow/user">
<webflow:flow-location path="/manage-users.xml" />
</webflow:flow-registry>
<webflow:flow-builder-services id="flowBuilderServices"
view-factory-creator="viewFactoryCreator" />
<bean id="viewFactoryCreator"
class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
<property name="viewResolvers" ref="tilesViewResolver" />
</bean>
Ce n'est pas exactement les caractéristiques se référant aux ajax, mais il m'a aidé à carreaux apache 2 mis en place des flux réguliers:
http://jee-bpel-soa.blogspot.com/2008/12/spring-web-flows-2-and-tiles.html
beaucoup plus de détails sont sur le lien, mais le noyau bit dont vous avez besoin est un nouveau résolveur de vue:
<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView" />
</bean>
<bean class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions" value="/WEB-INF/flows/main/main-tiles.xml" />
</bean>
Merci pour votre réponse, mais malheureusement, ce n'est vraiment pas plus utile que la documentation fournie avec SWF 2. J'ai finalement réussi à le faire fonctionner, même si je devais vraiment beaucoup bidouiller et jouer avec beaucoup de choses pour comprendre ce qui était 't dit dans la documentation SWF 2. Si quelqu'un veut de l'aide avec SWF2, ils sont plus que bienvenus pour me contacter à alexmarshall132 at gmail dot com –
Je serais certainement intéressé de savoir ce que vous deviez faire pour rendre les définitions de carreaux directement dans un état d'affichage. En ce moment j'ai eu juste recours au rendu des jsps qui ont juste
J'ai défini une JSP que je voulais utiliser comme décoration pour toutes mes pages, c'est-à-dire avec navbar, lien de déconnexion, etc. Dans cette page j'utilise une balise
Il est parfaitement expliqué dans les docs. Alors, arrêtez de dire que ce n'est pas le cas.
Comment utiliser les tuiles au printemps: 10.5 Voir résolution (lien + # printemps-mvc-config-printemps-vue-résolution)
Comment utiliser Ajax avec des tuiles au printemps: 11.5: Traitement d'une demande Ajax (lien + # printemps-js-ajax)
Copiez le code de ces liens et vous allez vous retrouver avec quelque chose comme ceci:
Configuration pour webflow d'utiliser des carreaux:
<!-- Plugs in a custom creator for Web Flow views -->
<webflow:flow-builder-services id="flowBuilderServices" view-factory-creator="mvcViewFactoryCreator" />
<!-- Configures Web Flow to use Tiles to create views for rendering; Tiles allows for applying consistent layouts to your views -->
<bean id="mvcViewFactoryCreator" class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
<property name="viewResolvers" ref="tilesViewResolver" />
</bean>
Configuration Tiles:
<!-- Configures the Tiles layout system -->
<bean class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/views/layouts/page.xml</value>
<value>/WEB-INF/views/layouts/table.xml</value>
<value>/WEB-INF/views/globalViews.xml</value>
<value>/WEB-INF/views/userViews.xml</value>
</list>
</property>
</bean>
Configuration Tiles + Ajax:
<!--
- This bean configures the UrlBasedViewResolver, which resolves logical view names
- by delegating to the Tiles layout system. A view name to resolve is treated as
- the name of a tiles definition.
-->
<bean id="tilesViewResolver" class="org.springframework.js.ajax.AjaxUrlBasedViewResolver">
<property name="viewClass" value="org.springframework.webflow.mvc.view.FlowAjaxTilesView" />
</bean>
Je ne suis pas d'accord, la section dont vous parlez fait exactement deux paragraphes et le mot «tuiles» n'est jamais mentionné. La documentation de Webflow est TRÈS sommaire. Je devais aller au code source pour comprendre cela. – user1071914
Ainsi, at-il fonctionné? –