Thymeleaf如何删除重复的标签

时间:2015-09-28 09:31:15

标签: spring-boot thymeleaf

在STS中创建了示例Spring启动项目,文件如下:

templetes \片段\的layout.html:

<!DOCTYPE html>
<html>
  <head>
    <title layout:title-pattern="$DECORATOR_TITLE - $CONTENT_TITLE">Project Title</title>
    <link th:replace="/fragments/style"/>
  </head>
  <body>
    <div th:replace="/fragments/header"></div>
    <div class="container" style="margin-top:80px;">
      <div layout:fragment="content"></div>
    </div>
    <div th:replace="/fragments/footer"></div>
    <div th:replace="/fragments/js"></div>
  </body>
</html>

templetes \片段\ style.html:

<!DOCTYPE html>
<link rel="stylesheet" th:href="@{/webjars/bootstrap/3.3.5/css/bootstrap.min.css}"/>

templetes \片段\ js.html:

<!DOCTYPE html>
<script th:src="@{/webjars/jquery/2.1.4/jquery.min.js}"></script>

templetes \片段\ header.html中:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
  <nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container">
      <p class="navbar-text">Project Header</p>
    </div>
  </nav>
</body>
</html>

templetes \片段\ footer.html:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
  <nav class="navbar navbar-inverse navbar-fixed-bottom">
    <div class="container">
      <p class="navbar-text">Project Footer</p> 
    </div>
  </nav>
</body>
</html>

templetes \ index.html的:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
      xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorator="fragments/layout">
<head>
  <title>Page Title</title>
</head>
<body>
  <div layout:fragment="content">
    Page Content
  </div>
</body>
</html>

当浏览器正确呈现页面时,生成的源会重复标记为:

<!DOCTYPE html>
<html>
  <head>
    <title>Project Title - Page Title</title>
<link rel="stylesheet" href="/webjars/bootstrap/3.3.5/css/bootstrap.min.css" />
</head>
  <body>
<html>
<head>
</head>
<body>
    <nav class="navbar navbar-inverse navbar-fixed-top">
        <div class="container">
           <p class="navbar-text">Project Header</p> 
        </div>
    </nav>
</body>
</html>
    <div class="container" style="margin-top:80px;">
      <div>
        Page Content
    </div>
    </div>
<html>
<head>
</head>
<body>
    <nav class="navbar navbar-inverse navbar-fixed-bottom">
      <div class="container">
        <p class="navbar-text">Project Footer</p> 
      </div>
    </nav>
</body>
</html>
<script src="/webjars/jquery/2.1.4/jquery.min.js"></script>
  </body>
</html>

请指导我删除这些额外的标签。 感谢

1 个答案:

答案 0 :(得分:0)

正如我所看到的,'重复'标签已经在你的页眉和页脚模板中。简单地删除它们(它们应该只是html片段)它应该没问题!