Переход с Tiles 2 на Tiles 3 в Spring MVC приложении

Задача
Обновить версию шаблонизатора Tiles с версии 2 до версии 3 в приложении на базе Spring MVC

Решение
Для перехода в Spring MVC приложении с версии Tiles 2 на версию 3, необходимо выполнить следующие шаги:

1. Обновить зависимости библиотек.
Для проекта на базе сборщика maven достаточно подключить библиотеку tiles-extras, которая содержит ссылки на все остальные зависимости Tiles:
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-extras</artifactId>
    <version>3.0.0</version>
</dependency>


Если нет желания подключать все библиотеки проекта, то можно подключить только библиотеку сервлетов tiles-servlet и при необходимости библиотеку JSP тегов tiles-jsp, если Tiles теги используются в проекте
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-servlet</artifactId>
    <version>3.0.0</version>
</dependency>

<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-jsp</artifactId>
    <version>3.0.0</version>
</dependency>


2. Обновить бины Tiles бины конфигуратора и резолвера представлений в контексте Spring приложения до версии 3:
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/tiles-defs.xml</value>
        </list>
    </property>
</bean>
   

<bean id="viewResolver" class="org.springframework.web.servlet.view.tiles3.TilesViewResolver"/>

   


3. Обновить DTD файлов xml шаблонов:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
    "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
    "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">

<tiles-definitions>
        .  .  .                         
</tiles-definitions>
comments powered by Disqus