首页 > 解决方案 > 需要对此百里香片段签名的精确解释

问题描述

我正在快速回顾一下 thymeleaf,我看到了这个 UI 代码片段:

<html lang="en" xmlns:th="http://www.thymeleaf.org" th:replace="~{fragments/layout :: layout (~{::body},'home')}">

经过一些研究 [ https://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#parameterizable-fragment-signatures],我有一个大概的想法,但这部分代码我不确定它的含义:

~{::body},'home')

所以我需要一个非常清楚的解释

标签: thymeleaf

解决方案


通过使用 thymeleaf 作为片段选择器(Thymeleaf Fragments 的一个特点是我们可以通过类、id 或只需通过标签)。

"~{fragments/layout :: layout (~{::body},'home')}"
  1. Fragments/layout -> 选择Fragments目录下的layout.html文件。
  2. :: layout -> 选择使用两个参数参数化的布局标记片段。
  3. (~{::body},'home') -> 将两个参数传递给布局标记片段。第一个也是用 选择的标记片段::body,第二个基本上是一个字符串值home

您可以通过此处提供的示例来理解这一点,您可以在第 5 节中找到该示例。


推荐阅读