如果来自片段,如何向百里香头标签添加额外的内容?

时间:2017-08-17 15:20:05

标签: templates spring-boot thymeleaf

在django,我可以做到:

 <head>
{% block content %}

     (....) ---------> content from a partial template goes here.

{% endblock %}

     (....) ---------> I can add aditional stuff here if I need to.

<head>

无论我喜欢哪里。 (例如:在所有模板中使用相同的头,但是一个页面需要一个aditional css文件或脚本)

据我所知,在百里香中,我需要将整个标签定义为一个片段,我不能再添加任何其他东西,需要按原样使用。

我的问题是如何在百里香中实现上述例子?

2 个答案:

答案 0 :(得分:4)

在名为fragment的resources / templates下创建一个文件夹。在创建文件fragment.html然后在脑中:

 <head>

     <div th:replace="fragments/fragment :: fragment"></div>


     (....) ---------> you can add aditional stuff here if you need to.

<head>

在你的fragment.html中:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head></head>
<body>
  <div th:fragment="fragment" th:remove="tag">
    (....) ---------> content from a partial template goes here.
  </div>
</body>
</html>

th:replace 实际上会用片段的

替换主机标签

th:remove =&#34; tag&#34; 删除了包含片段的容器div

结果你应该得到:

 <head>

     (....) ---------> content from a partial template goes here.

     (....) ---------> you can add aditional stuff here if you need

<head>

答案 1 :(得分:0)

只需将其添加到 head 标签中

<head>
  <th:block th:replace="fragments/headContent :: baseContent"></th:block>
  <!-- other blocks -->
</head>

在片段文件中

<head>
  <th:block th:fragment="baseContent">
    <link href="/css/bootstrap.min.css" rel="stylesheet"> 
    <style> **your style tag content** </style>
  </th:block>
</head>