天天看點

解決thymeleaf layout布局不生效

今天使用thymeleaf layout布局時總是不生效,特此把解決問題的步驟和幾個關鍵點記錄下來備忘。

一、檢查依賴

1.thymeleaf必備maven依賴:

<code>&lt;dependency&gt;</code>

<code>    </code><code>&lt;groupId&gt;org.thymeleaf&lt;/groupId&gt;</code>

<code>    </code><code>&lt;artifactId&gt;thymeleaf&lt;/artifactId&gt;</code>

<code>    </code><code>&lt;version&gt;${thymeleaf.version}&lt;/version&gt;</code>

<code>&lt;/dependency&gt;</code>

<code>    </code><code>&lt;artifactId&gt;thymeleaf-spring4&lt;/artifactId&gt;</code>

   

2.如果使用layout布局,還需要添加:

<code>    </code><code>&lt;groupId&gt;nz.net.ultraq.thymeleaf&lt;/groupId&gt;</code>

<code>    </code><code>&lt;artifactId&gt;thymeleaf-layout-dialect&lt;/artifactId&gt;</code>

<code>    </code><code>&lt;version&gt;</code><code>2.2</code><code>.</code><code>2</code><code>&lt;/version&gt;</code>

  

二、配置視圖引擎

1.配置thymeleaf作為視圖引擎

<code>&lt;!-- Thymeleaf View Resolver - implementation of Spring's ViewResolver </code><code>interface</code> <code>--&gt;</code>

<code>&lt;bean id=</code><code>"viewResolver"</code> <code>class</code><code>=</code><code>"org.thymeleaf.spring4.view.ThymeleafViewResolver"</code><code>&gt;</code>

<code>    </code><code>&lt;property name=</code><code>"templateEngine"</code> <code>ref=</code><code>"templateEngine"</code> <code>/&gt;</code>

<code>    </code><code>&lt;property name=</code><code>"characterEncoding"</code> <code>value=</code><code>"UTF-8"</code> <code>/&gt;</code>

<code>&lt;/bean&gt;</code>

<code> </code> 

<code>&lt;!-- Thymeleaf Template Engine (Spring4-specific version) --&gt;</code>

<code>&lt;bean id=</code><code>"templateEngine"</code> <code>class</code><code>=</code><code>"org.thymeleaf.spring4.SpringTemplateEngine"</code><code>&gt;</code>

<code>    </code><code>&lt;property name=</code><code>"templateResolvers"</code><code>&gt;</code>

<code>        </code><code>&lt;set&gt;</code>

<code>            </code><code>&lt;ref bean=</code><code>"templateResolver"</code> <code>/&gt;</code>

<code>        </code><code>&lt;/set&gt;</code>

<code>    </code><code>&lt;/property&gt;</code>

<code>&lt;!-- Thymeleaf Template Resolver --&gt;</code>

<code>&lt;bean id=</code><code>"templateResolver"</code> <code>class</code><code>=</code><code>"org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver"</code><code>&gt;</code>

<code>    </code><code>&lt;property name=</code><code>"prefix"</code> <code>value=</code><code>"/WEB-INF/templates/"</code> <code>/&gt;</code>

<code>    </code><code>&lt;property name=</code><code>"templateMode"</code> <code>value=</code><code>"HTML"</code> <code>/&gt;</code>

<code>    </code><code>&lt;property name=</code><code>"suffix"</code> <code>value=</code><code>".html"</code><code>&gt;&lt;/property&gt;</code>

<code>    </code><code>&lt;property name=</code><code>"characterEncoding"</code> <code>value=</code><code>"UTF-8"</code><code>&gt;&lt;/property&gt;</code>

2.使用layout還需要在templateEngine添加如下節點:

<code>    </code><code>……</code>

<code>    </code><code>&lt;property name=</code><code>"additionalDialects"</code><code>&gt;</code>

<code>            </code><code>&lt;bean </code><code>class</code><code>=</code><code>"nz.net.ultraq.thymeleaf.LayoutDialect"</code><code>/&gt;</code>

三、頁面

task/layout.html

<a></a>

index.html

<code>&lt;!DOCTYPE html&gt;</code>

<code>&lt;html lang=</code><code>"en"</code> <code>layout:decorator=</code><code>"task/layout"</code><code>&gt;</code>

<code>&lt;head&gt;</code>

<code>    </code><code>&lt;meta charset=</code><code>"utf-8"</code><code>&gt;</code>

<code>    </code><code>&lt;title&gt;index&lt;/title&gt;</code>

<code>&lt;/head&gt;</code>

<code>&lt;body&gt;</code>

<code>&lt;div layout:fragment=</code><code>"content"</code><code>&gt;</code>

<code>        </code><code>&lt;h1&gt;</code>

<code>            </code><code>Welcome!</code>

<code>        </code><code>&lt;/h1&gt;   </code>

<code>&lt;/div&gt;</code>

<code>&lt;/body&gt;</code>

<code>&lt;/html&gt;</code>

三、版本号

如果檢查了以上幾項還是沒問題,最後還有一點值得注意的,就是thymeleaf和thymeleaf-layout-dialect的版本。

我最後就是調整了maven依賴的版本号,終于成功了。

    本文轉自 陳敬(Cathy) 部落格園部落格,原文連結:http://www.cnblogs.com/janes/p/7524941.html,如需轉載請自行聯系原作者

上一篇: 第四次作業
下一篇: 第五次作業