Thymeleaf
DeveloperDaniel Fernández
Stable release
3.1.3[1] / December 9, 2024; 18 months ago (2024-12-09)
Written inJava
Operating systemCross-platform
StandardsXML, XHTML, HTML5
TypeTemplate Engine
LicenseApache License 2.0
Websitewww.thymeleaf.org

Thymeleaf is a Java XML/XHTML/HTML5 template engine that can work both in web (servlet-based) and non-web environments. It is better suited for serving XHTML/HTML5 at the view layer of MVC-based web applications, but it can process any XML file even in offline environments. It provides full Spring Framework integration.

In web applications Thymeleaf aims to be a complete substitute for JavaServer Pages (JSP), and implements the concept of Natural Templates: template files that can be directly opened in browsers and that still display correctly as web pages.

Thymeleaf is open-source software, licensed under the Apache License 2.0.

Features

edit

From the project's website:[2]

  • Java template engine for XML, XHTML and HTML5.
  • Works both in web and non-web (offline) environments. No hard dependency on the Servlet API.
  • Based on modular feature sets called dialects.
    • Dialect features (e.g.: evaluation, iteration, etc.) are applied by linking them to template's tags and/or attributes.
    • Two dialects available out-of-the-box: Standard and SpringStandard (for Spring MVC apps, same syntax as Standard).
    • Developers can extend and create custom dialects.
  • Several template modes:
    • XML: validating against a DTD or not.
    • XHTML 1.0 and 1.1: validating against standard DTDs or not.
    • HTML5: both XML-formed code and legacy-based HTML5. Legacy non-XML code will be automatically cleaned and converted to XML form.
  • Full (and extensible) internationalization support.
  • Configurable, high performance parsed template cache that reduces input/output to the minimum.
  • Automatic DOCTYPE translations –from template DTD to result DTD– for (optional) validation of both template and result code.
  • Extremely extensible: can be used as a template engine framework if needed.
  • Complete documentation including several example applications.

Thymeleaf example

edit

The following example produces an HTML5 table with rows for each item of a List<Product> variable called allProducts.

<table>
  <thead>
    <tr>
      <th th:text="#{msgs.headers.name}">Name</th>
      <th th:text="#{msgs.headers.price}">Price</th>
    </tr>
  </thead>
  <tbody>
    <tr th:each="prod : ${allProducts}">
      <td th:text="${prod.name}">Oranges</td>
      <td th:text="${#numbers.formatDecimal(prod.price,1,2)}">0.99</td>
    </tr>
  </tbody>
</table>

This piece of code includes:

  • Internationalization expressions: #{ ... } rh
  • Variable/model-attribute evaluation expressions: ${ ... }
  • Utility functions: #numbers.formatDecimal( ... )

Also, this fragment of (X)HTML code can be perfectly displayed by a browser as a prototype, without being processed at all: it is a natural template.

See also

edit

References

edit
  1. ^ "Thymeleaf 3.1: What's new and how to migrate - Thymeleaf".
  2. ^ "Features - Thymeleaf: Java XML/XHTML/HTML5 template engine". Archived from the original on 2011-10-08. Retrieved 2011-10-16. Thymeleaf Features
edit

📚 Artikel Terkait di Wikipedia

Veronica serpyllifolia

Veronica serpyllifolia, the thyme-leaved speedwell or thymeleaf speedwell, is a perennial flowering plant in the plantain family. The species as a whole

Arenaria serpyllifolia

Arenaria serpyllifolia, commonly known as thyme-leaf sandwort or thyme-leaved sandwort, is an annual or biennial flowering plant in the pink and carnation

Eriogonum thymoides

plant in the buckwheat family known by the common name thymeleaf wild buckwheat, or simply thymeleaf buckwheat. Eriogonum thymoides is an intricately branched

Melaleuca thymifolia

Melaleuca thymifolia, commonly known as thyme honey-myrtle, is a plant in the myrtle family Myrtaceae and is native to eastern Australia. It is often noticed

Java (programming language)

Play PrimeFaces Quarkus Spring Integration Spring Roo Spring Security Thymeleaf Vaadin Vertx ZKoss Libraries Apache Accumulo Apache ActiveMQ Apache Ant

Houstonia serpyllifolia

Houstonia serpyllifolia, commonly called thymeleaf bluet, creeping bluet, mountain bluet, Appalachian bluet or Michaux's bluets is a species of plant

Pogogyne serpylloides

flowering plant in the mint family known by the common names thymeleaf mesamint and thymeleaf beardstyle. It is endemic to central California, where it grows

Lechea minor

Lechea minor, commonly known as thymeleaf pinweed, is a perennial forb native to the United States and Canada. Lechea minor has a taproot and forms basal