# Release Taming Thymeleaf book

Author: [Wim Deblauwe](https://www.wimdeblauwe.com/about/) | Published: 2020-12-21 | Topics: spring-boot, thymeleaf | Canonical: https://www.wimdeblauwe.com/blog/2020/12/21/release-taming-thymeleaf/

I am thrilled to announce the release of my book [Taming Thymeleaf on leanpub](https://leanpub.com/taming-thymeleaf). This book aims to be a valuable resource to learn about [Thymeleaf](https://www.thymeleaf.org/) with [Spring Boot](https://spring.io/projects/spring-boot).

![cover 3D](https://www.wimdeblauwe.com/images/2020/12/cover-3D.png)

## About the book

Taming Thymeleaf will learn you about writing web applications with [Spring Boot](https://spring.io/projects/spring-boot) and [Thymeleaf](https://www.thymeleaf.org/) in no-time. The book teaches you step-by-step how to get started with those technologies and build a fully fledged web application including security, validation, internationalization, testing, …​

Thymeleaf is an amazing technology for building server-side HTML using the Java eco-system. Combined with Spring Boot, it is really a killer combo for a productive development environment. Learn how to structure your code so your application can evolve for years to come. As HTML will always be there, you can do this without having to re-write your frontend every six months for the latest JavaScript framework.

[The application](https://github.com/wimdeblauwe/taming-thymeleaf-sources) that is built in the book not only functions great. It also looks amazing as it is based on [Tailwind UI](https://tailwindui.com/). These are beautiful components based on [Tailwind CSS](https://tailwindcss.com/).

The full table of contents of the book can be seen on the Leanpub page: [https://leanpub.com/taming-thymeleaf](https://leanpub.com/taming-thymeleaf)

There is also a sample chapter available for free!

Super-charge your learning now with [Taming Thymeleaf](https://leanpub.com/taming-thymeleaf)!

## Application screenshots

### Learn to create forms

![form](https://www.wimdeblauwe.com/images/2020/12/form.png)

_Example form to create a user account_

![form validation](https://www.wimdeblauwe.com/images/2020/12/form-validation.png)

_Validation of form content_

![avatar edit](https://www.wimdeblauwe.com/images/2020/12/avatar-edit.png)

_File upload to set an avatar image on a user_

![delete confirmation modal](https://www.wimdeblauwe.com/images/2020/12/delete-confirmation-modal.png)

_Show a modal dialog to confirm deletion of a user_

### Pagination

![pagination](https://www.wimdeblauwe.com/images/2020/12/pagination.png)

_Use pagination to allow the user to navigate through a big result set_

### Login/Security

![custom login page](https://www.wimdeblauwe.com/images/2020/12/custom-login-page.png)

_Custom login page_

### Testing

![cypress login user](https://www.wimdeblauwe.com/images/2020/12/cypress-login-user.png)

_Running [Cypress](https://www.cypress.io/) tests for end-to-end testing of the Thymeleaf application_

### Dynamic interaction

![teamplayer 2](https://www.wimdeblauwe.com/images/2020/12/teamplayer-2.png)

_Client-side interaction using the [AlpineJS](https://github.com/alpinejs/alpine) JavaScript framework to avoid page reloads when the interaction needs to more dynamic_

