Spring 3 MVC e Tiles 2

Il risultato finale

Il risultato finale è un semplicissimo layout con header, menu, sidebar laterale e footer:

Spring MVC-Tiles
Spring MVC 3 e Tiles 2 insieme!

Al di la del layout, questo progetto di esempio mostra come integrare Spring 3 con Tiles 2 all’interno di una applicazione Web, utilizzando Tomcat come Servlet Container.

Versioni e dipendenze

Le versioni utilizzate sono:

  • Spring: 3.2.10.RELEASE
  • Tiles: 2.2.2

Utilizzando Maven, queste sono le dipendenze:

<properties>
	<spring.version>3.2.10.RELEASE</spring.version>
	<tiles.version>2.2.2</tiles.version>
</properties>
<!-- Spring -->
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-core</artifactId>
	<version>${spring.version}</version>
</dependency>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-web</artifactId>
	<version>${spring.version}</version>
</dependency>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-webmvc</artifactId>
	<version>${spring.version}</version>
</dependency>
 
<!-- Tiles -->
<dependency>
	<groupId>org.apache.tiles</groupId>
	<artifactId>tiles-api</artifactId>
	<version>${tiles.version}</version>
</dependency>
<dependency>
	<groupId>org.apache.tiles</groupId>
	<artifactId>tiles-core</artifactId>
	<version>${tiles.version}</version>
</dependency>
<dependency>
	<groupId>org.apache.tiles</groupId>
	<artifactId>tiles-jsp</artifactId>
	<version>${tiles.version}</version>
</dependency>

Tomcat e Spring MVC

Questo è l’estratto del web.xml che contiene la configurazione di Spring:

<servlet>
	<servlet-name>esempio-dispatcher</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<load-on-startup>1</load-on-startup>
</servlet>
 
<servlet-mapping>
	<servlet-name>esempio-dispatcher</servlet-name>
	<url-pattern>/</url-pattern>
</servlet-mapping>
 
<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>/WEB-INF/esempio-dispatcher-servlet.xml</param-value>
</context-param>
 
<listener>
	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

Spring MVC e Tiles

La configurazione nel web.xml fa riferimento al file esempio-dispatcher-servlet.xml che è il cuore della configurazione di una applicazione Spring MVC.
Per integrare Tiles 2 con Spring MVC è necessario specificare al bean viewResolver il fatto che sia proprio Tiles ad occuparsi del rendering delle pagine, in questo modo:

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass">
        <value>
            org.springframework.web.servlet.view.tiles2.TilesView
        </value>
    </property>
</bean>

e poi specificare quale sia il file di configurazione di Tiles:

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

L’integrazione fra Spring 3 e Tiles 2 è già terminata.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>