Umstellung auf Thymeleaf: Schritt 2 - Tilesunterstützung aktiviert
[website] / src / main / resources / spring / mvc.xml
index a18d739..87c2a01 100644 (file)
@@ -3,6 +3,7 @@
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xmlns:context="http://www.springframework.org/schema/context"
+       xmlns:util="http://www.springframework.org/schema/util"
        xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
@@ -10,6 +11,8 @@
            http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.1.xsd
+           http://www.springframework.org/schema/util
+           http://www.springframework.org/schema/util/spring-util-4.0.xsd
            ">
 
   <!-- Damit das DispatcherServlet auf /* gemappt werden kann -->
@@ -22,6 +25,7 @@
   <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
     <property name="mappings">
       <value>
+        /thymeleaf/**=staticResources
         /*.html=urlFilenameViewController
         /**/*.html=urlFilenameViewController
       </value>
     <property name="order" value="10"/>
   </bean>
   <bean id="urlFilenameViewController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
+  <bean id="staticResources" class="org.springframework.web.servlet.resource.ResourceHttpRequestHandler">
+    <property name="locations">
+      <list>
+        <value>/thymeleaf/</value>
+      </list>
+    </property>
+  </bean>
 
-  <!-- Tiles View-Resolver -->
-  <bean class="org.springframework.web.servlet.view.tiles3.TilesViewResolver"/>
+  <!-- Thymeleaf Spring-View-Resolver -->
+  <bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver">
+    <property name="templateEngine" ref="templateEngine" />
+    <property name="viewNames" value="views/*,templates/*"/>
+    <property name="order" value="1"/>
+  </bean>
 
-  <!-- Resolves view names to protected .jsp resources within the /WEB-INF/views directory -->
-  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
-    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
-    <property name="prefix" value="/WEB-INF/views/"/>
-    <property name="suffix" value=".jsp"/>
+  <!-- Thymeleaf Tiles-View-Resolver -->
+  <bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver">
+    <property name="templateEngine" ref="templateEngine" />
+    <property name="viewClass" value="org.thymeleaf.extras.tiles2.spring4.web.view.ThymeleafTilesView"/>
+    <property name="order" value="2"/>
   </bean>
 
-  <bean class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
+
+  <!-- Thymeleaf Tiles-Configurer -->
+  <bean class="org.thymeleaf.extras.tiles2.spring4.web.configurer.ThymeleafTilesConfigurer">
     <property name="definitions">
       <list>
         <value>classpath:/spring/tiles.xml</value>
     <property name="useMutableTilesContainer" value="true"/>
   </bean>
 
+
+  <!-- Thymeleaf Template-Resolver -->
+  <bean id="templateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
+    <property name="prefix" value="/thymeleaf/" />
+    <property name="suffix" value=".html" />
+    <property name="templateMode" value="HTML5" />
+    <property name="cacheable" value="false" /><!-- Only for development -->
+  </bean>
+
+  <!-- Thymeleaf Spring4-Template-Engine -->
+  <bean id="templateEngine" class="org.thymeleaf.spring4.SpringTemplateEngine">
+    <property name="templateResolver" ref="templateResolver" />
+    <property name="additionalDialects">
+      <util:set>
+        <bean class="org.thymeleaf.extras.tiles2.dialect.TilesDialect"/>
+      </util:set>
+    </property>
+  </bean>
+
 </beans>