2021年1月20日 星期三

[SpringBoot 1.5] thymeleaf template layout介紹

1 抽取公共片段

在會重複使用的code中加入th:fragment="copy"

如以下

<div th:fragment="copy">

OOXXX

</div>


2引入公共片段

然後在要重複的code中插入

<div th:insert="~{footer :: copy}"></div>

這邊也可以寫作

<div th:insert="footer :: copy"></div>

這樣就可以共用程式碼簡化重複的code了

而 ~{footer :: copy}為

 ~{templatename:: selector} 模板名::選擇器

 ~{templatename:: fragmentname} 模板名::片段名

------------------------------------------------------------

三種引用方式

th:insert >將公共片段整段插入到聲明引用的元素中

th:replace >將聲明引入的元素替換為公共片段

th:include >將引入的片段的內容包含進這個標籤中


範例

<footer th:fragment="copy">

    &copy; 2021 The Good Thymes Vitrual Grocery

</footer>


引入方式

<body>

    <div th:insert="footer :: copy"></div>

    <div th:replace="footer :: copy"></div>

    <div th:include="footer :: copy"></div>

</body>


效果

<body>

    <div>

           <footer>

                       &copy; 2021 The Good Thymes Vitrual Grocery

           </footer>

    </div>

            <footer>

                       &copy; 2021 The Good Thymes Vitrual Grocery

           </footer>

            <div>

                       &copy; 2021 The Good Thymes Vitrual Grocery

           </div>

</body>


------------------------------

另外一種設定方式, 可以依照id( ~{templatename:: selector} )

<div id="copy-section">

        &copy; 2021 The Good Thymes Vitrual Grocery

</div>


<div th:insert="~{footer : : #copy-section}"></div>

沒有留言:

張貼留言

[leetcode] [KMP] KMP

ABCDABD... ABCDABF... 簡單的說, 傳統解兩字串匹配部分 可能會來個雙迴圈, 哀個比對, 當不匹配的時候, 會將下方列再後移1位 然後不匹配再後移 然而 如果像上放已經有4個屬於匹配的字串, 她就應該直接往後移四位來匹配, 而不是只移動1位 隱藏的思維是, 當...