Lessons Learned from Upgrading Thymeleaf
summary
Broadleaf upgrades Thymeleaf 2 → 3 to use first-class fragment parameters and drops XML parsing for an auto HTML parser, yielding measurable speedups and full HTML5 support. About 60–70 custom processors get rewritten to the new modular processor APIs; a compatibility layer and Spring resource template resolver let one codebase run both versions. Watch out for self-closing tag behavior (self-closing divs break rendering) and for global variables set inside processors—those must move to request scope or be redesigned. Overall migration mostly succeeds.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:11Broadleaf Commerce
- 2:23Thymeleaf 3 Features - Fragments
- 4:26Fragments - Examples (base.html)
- 6:34Fragments - Examples (resulting main.html)
- 7:01Thymeleaf 3 Features - Decoupled Templating
- 11:31Variable Expressions - Thymeleaf 2
- 12:27Variable Expressions - Difference
- 13:14Dialects - Thymeleaf 3
- 15:22Dialects - Difference
- 15:40Processors - Thymeleaf 3
- 18:15Processors - Differences
- 19:02Configuration - Maven POM
- 19:20Configuration - Spring Java Config
- 20:31Summary
- 21:53Resources
related talks
51mMajor Migrations Made Easy
46mModern Frontends with HTMX, Thymeleaf and Spring Boot
59mFrom Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
01h 04mMind the Gap: Jumping from Spring Boot 2.x to 3.x
01h 25m#NoXML: Eliminating XML in Your Spring Projects
55mFrom Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
37mA Long Spring: 19 Years of Living with Your Past Mistakes
17mMajor migrations made easy
