Spring Boot Thymeleaf布局方言不起作用

时间:2017-02-03 16:44:18

标签: spring spring-mvc spring-boot thymeleaf

我刚刚创建了一个新的Spring Boot v1.5项目,并面临Thymeleaf Layout Dialect无效的问题。

我在build.gradle中有依赖项,在类路径中有。

compile group: 'nz.net.ultraq.thymeleaf', name: 'thymeleaf-layout-dialect', version: '2.1.2'

我有以下布局文件

    <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org"
      xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<head>
    <meta charset="UTF-8" />
    <title>Default Template</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="author" content="" />
    <meta name="description" content="" />
    <meta name="title" content="" />
    <link rel="stylesheet" media="screen" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
</head>
<body>

    <!-- header -->
    <header th:include="shared/nav-menu :: menu-admin" />

    <!-- page content -->
    <th:block>
        <section layout:fragment="content"></section>
    </th:block>

</body>
</html>

并提交内容:

    <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org"
      xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
      layout:decorator="default">
<head>
    <title>Parameter Manager</title>
</head>
<body>
    <section layout:fragment="content">
        <h2>OMG I am on the page!</h2>
    </section>
</body>
</html>

HTML输出是content.html文件。它没有按预期工作。标题和导航菜单应该是HTML输出的一部分。也是页面源中不应该是这种情况。

1 个答案:

答案 0 :(得分:3)

显然最新版本的Thymeleaf Layout Dialect不适用于Spring Boot 1.5。使用版本1.2.9,它按预期工作。

compile group: 'nz.net.ultraq.thymeleaf', name: 'thymeleaf-layout-dialect', version: '1.2.9'