Je travaille sur une application web où j'ai la plupart de mes pages en utilisant des tuiles Apache (2.1.2), mais quelques-unes d'entre elles doivent simplement être des jsps simples.Comment utiliser plusieurs ViewResolvers au printemps?
J'ai un problème en ce qu'un InternalResourceViewResolver
et un UrlBasedViewResolver
vont essayer de résoudre la vue quoi qu'il arrive, de sorte que quel que soit l'ordre que j'utilise, il échouera sur les pages JSP ou sur les carreaux. pages
Voici la config:
<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"/>
<property name="order" value="0"/>
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/>
<property name="order" value="1"/>
</bean>
Pour le rendre plus clair ce que je suis en train de faire, je dois être en mesure d'avoir des états d'affichage comme ceci:
<view-state id="someState" view="/someDir/foo"><!--render foo.jsp -->
<transition on="foo" to="bar"/>
</view-state>
<view-state id="someState" view="something.core"><!--render tile defintion named 'something.core' -->
<transition on="foo" to="bar"/>
</view-state>
Est-ce que quelqu'un sait comment configurer les choses afin que je puisse l'obtenir pour rendre les définitions de carreaux et les jsps simples?
Pourriez-vous élaborer un peu là-dessus? Je ne suis pas vraiment sûr de la façon dont je transférerais le contrôle à un autre résolveur de vue. –
Voir modifier pour l'exemple de code – skaffman
Cela semble très bien, va l'essayer, merci! J'ai essayé quelque chose de similaire auparavant, mais je me suis basé sur le retour de null pour continuer dans la chaîne, et ça ne fonctionnait pas correctement. –