2010-11-06 32 views
5

J'utilise actuellement Spring 3.0.4 et Apache Tiles 2.2.2 dans mon application Web. Je voudrais remplacer JSP avec Apache Velocity 1.6.3 mais je suis un peu confus sur la façon de le faire. En fin de compte, je voudrais être en mesure de faire ce qui suit dans une définition de tuiles:Utilisation de la vitesse avec des carreaux et le printemps

<definition name="basicLayout" template="/WEB-INF/layout/basicLayout.vm"> 
    <put-attribute name="header" value="/WEB-INF/layout/header.vm" /> 
    <put-attribute name="content-area" value="/WEB-INF/layout/content.vm" /> 
    <put-attribute name="footer" value="/WEB-INF/layout/footer.vm" /> 
</definition> 

Est-ce possible? Si oui, ai-je besoin de créer des classes d'affichage personnalisées pour le supporter? J'utilise actuellement les classes standard Spring VelocityConfigurer, TilesConfigurer, VelocityView, TilesView.

Merci!

+0

Avez-vous vu la section 16.4 de la documentation de référence du ressort? http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/view.html – iftheshoefritz

Répondre

0

dans votre définition de servlet vous avez besoin:

<bean id="viewResolver" 
    class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
    <property name="viewClass"> 
     <value> 
      org.springframework.web.servlet.view.tiles2.TilesView 
    </value> 
    </property> 
</bean> 
<bean id="tilesConfigurer" 
    class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"> 
    <property name="definitions"> 
     <list> 
      <value>/WEB-INF/tiles.xml</value> 
     </list> 
    </property> 
</bean> 

comme vous pouvez le voir déclariez ..ce tiles.xml est le fichier qui contiendra le nom de definiotion etc.

si vous êtes en utilisant maven vous avez besoin des dépendances suivantes:

<dependency> 
     <groupId>org.apache.tiles</groupId> 
     <artifactId>tiles-api</artifactId> 
     <version>2.2.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tiles</groupId> 
     <artifactId>tiles-core</artifactId> 
     <version>2.2.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tiles</groupId> 
     <artifactId>tiles-jsp</artifactId> 
     <version>2.2.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tiles</groupId> 
     <artifactId>tiles-servlet</artifactId> 
     <version>2.2.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tiles</groupId> 
     <artifactId>tiles-template</artifactId> 
     <version>2.2.1</version> 
    </dependency> 
2

J'ai créé des classes d'aide qui incluent l'intégration des carreaux avec la vitesse: https://github.com/pete911/openhouse-web il y a une description lorsque vous faites défiler vers le bas. Les classes peuvent également être trouvées dans Maven Central.