Yiorgos
Yiorgos

Reputation: 131

Do thymeleaf fragments need to exist inside a well-formed HTML file?

I'm creating a couple of thymeleaf fragments to use in other pages, and I was told they need to be inside a well-formed html page (with HTML, HEAD, BODY tags etc). Is this the case?

The fragments are only going to be used with th:include/th:replace in other places.

Upvotes: 1

Views: 375

Answers (1)

Ioan M
Ioan M

Reputation: 1207

A fragment just needs to be a well formed html. You can start with a div

For e.g

<div th:fragment="formField (field, value, size)">
<div>
    <label th:for="${#strings.toLowerCase(field)}"> <span
        th:text="${field}">Field</span>
    </label>
</div>
<div>
    <input type="text" th:id="${#strings.toLowerCase(field)}"
        th:name="${#strings.toLowerCase(field)}" th:value="${value}"
        th:size="${size}">
</div>

Which you then include somewhere else

<body>
<header th:insert="fragments/general.html :: header"> </header>
<div th:replace="fragments/forms.html
  :: formField(field='Name', value='John Doe',size='40')">
</div>
<div th:replace="fragments/general.html :: footer"></div>

I took these examples from here: https://www.baeldung.com/spring-thymeleaf-fragments

Upvotes: 1

Related Questions