今天使用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,如需转载请自行联系原作者