天天看点

解决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,如需转载请自行联系原作者

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