今天使用thymeleaf layout布局時總是不生效,特此把解決問題的步驟和幾個關鍵點記錄下來備忘。
一、檢查依賴
1.thymeleaf必備maven依賴:
<code><dependency></code>
<code> </code><code><groupId>org.thymeleaf</groupId></code>
<code> </code><code><artifactId>thymeleaf</artifactId></code>
<code> </code><code><version>${thymeleaf.version}</version></code>
<code></dependency></code>
<code> </code><code><artifactId>thymeleaf-spring4</artifactId></code>
2.如果使用layout布局,還需要添加:
<code> </code><code><groupId>nz.net.ultraq.thymeleaf</groupId></code>
<code> </code><code><artifactId>thymeleaf-layout-dialect</artifactId></code>
<code> </code><code><version></code><code>2.2</code><code>.</code><code>2</code><code></version></code>
二、配置視圖引擎
1.配置thymeleaf作為視圖引擎
<code><!-- Thymeleaf View Resolver - implementation of Spring's ViewResolver </code><code>interface</code> <code>--></code>
<code><bean id=</code><code>"viewResolver"</code> <code>class</code><code>=</code><code>"org.thymeleaf.spring4.view.ThymeleafViewResolver"</code><code>></code>
<code> </code><code><property name=</code><code>"templateEngine"</code> <code>ref=</code><code>"templateEngine"</code> <code>/></code>
<code> </code><code><property name=</code><code>"characterEncoding"</code> <code>value=</code><code>"UTF-8"</code> <code>/></code>
<code></bean></code>
<code> </code>
<code><!-- Thymeleaf Template Engine (Spring4-specific version) --></code>
<code><bean id=</code><code>"templateEngine"</code> <code>class</code><code>=</code><code>"org.thymeleaf.spring4.SpringTemplateEngine"</code><code>></code>
<code> </code><code><property name=</code><code>"templateResolvers"</code><code>></code>
<code> </code><code><set></code>
<code> </code><code><ref bean=</code><code>"templateResolver"</code> <code>/></code>
<code> </code><code></set></code>
<code> </code><code></property></code>
<code><!-- Thymeleaf Template Resolver --></code>
<code><bean id=</code><code>"templateResolver"</code> <code>class</code><code>=</code><code>"org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver"</code><code>></code>
<code> </code><code><property name=</code><code>"prefix"</code> <code>value=</code><code>"/WEB-INF/templates/"</code> <code>/></code>
<code> </code><code><property name=</code><code>"templateMode"</code> <code>value=</code><code>"HTML"</code> <code>/></code>
<code> </code><code><property name=</code><code>"suffix"</code> <code>value=</code><code>".html"</code><code>></property></code>
<code> </code><code><property name=</code><code>"characterEncoding"</code> <code>value=</code><code>"UTF-8"</code><code>></property></code>
2.使用layout還需要在templateEngine添加如下節點:
<code> </code><code>……</code>
<code> </code><code><property name=</code><code>"additionalDialects"</code><code>></code>
<code> </code><code><bean </code><code>class</code><code>=</code><code>"nz.net.ultraq.thymeleaf.LayoutDialect"</code><code>/></code>
三、頁面
task/layout.html
<a></a>
index.html
<code><!DOCTYPE html></code>
<code><html lang=</code><code>"en"</code> <code>layout:decorator=</code><code>"task/layout"</code><code>></code>
<code><head></code>
<code> </code><code><meta charset=</code><code>"utf-8"</code><code>></code>
<code> </code><code><title>index</title></code>
<code></head></code>
<code><body></code>
<code><div layout:fragment=</code><code>"content"</code><code>></code>
<code> </code><code><h1></code>
<code> </code><code>Welcome!</code>
<code> </code><code></h1> </code>
<code></div></code>
<code></body></code>
<code></html></code>
三、版本号
如果檢查了以上幾項還是沒問題,最後還有一點值得注意的,就是thymeleaf和thymeleaf-layout-dialect的版本。
我最後就是調整了maven依賴的版本号,終于成功了。
本文轉自 陳敬(Cathy) 部落格園部落格,原文連結:http://www.cnblogs.com/janes/p/7524941.html,如需轉載請自行聯系原作者