Back to: Spring Boot Tutorials
Spring Boot Thymeleaf with Examples
In this article, I am going to discuss Spring Boot Thymeleaf with Examples. Please read our previous article where we discussed Spring Boot Service Components with Examples.
What is Spring Boot Thymeleaf?
Thymeleaf is a Java-based library that can be used to create a web-based application. It has good support for HTML5 as well as XHTML5.
How to Implement Thymeleaf in Spring Boot?
Let us create a web-based application using Thymeleaf and Spring Boot.
Step 1: Create a new project in Spring Initializr in VS Code. Include the spring-boot-starter-web and spring-boot-starter-thymeleaf dependencies.
Step 2: Create a new class called WebController.java in src/main/java/com/dotnet/thymeleaf directory.
Step 3: Modify the newly created file as follows:
We have performed the following modifications:
- Imported required packages
- Added @Controller annotation to the class.
- Added a function that will map the request of http://localhost:8080/index to the index.html file. This file shall be created in the next step.
Step 3: Create a file called index.html in the src/main/resources/templates directory.
Step 4: Modify the HTML file as follows:
Here, we have created a sample HTML webpage file. This file is named index.html. Hence, whenever a client goes to the URL http://localhost:8080/index, they shall be greeted with this webpage.
Step 5: Save and compile the program. Ensure the compilation is successful.
Step 6: Go to http://localhost:8080/index from your web browser. You will see this page:
How to add CSS?
As we know, to make HTML files look a little more than basic, we shall require Cascading Style Sheet (CSS) files. They can also be implemented in Spring Boot.
Follow these steps to implement CSS:
Step 1: Create a new folder called css in src/main/resources/static/ directory.
Step 2: Create a new file called styles.css in the newly created src/main/resources/static/css/ directory.
Step 3: Modify the styles.css file to add styles for h1 and h3. These are the types of text we have used in our HTML file.
The following modifications are made:
- The h1 style is red, bold, and written in Arial font.
- The h3 style is blue, italic, and written in cursive font.
- The body has a background color of blanched almonds.
Step 4: Modify the src/main/resources/templates/index.html file to reflect the new stylesheet:
Step 5: Save and compile the application. Ensure the compilation is successful.
Step 6: Go to http://localhost:8080/index from your web browser. You must be able to see this page:
As can be seen, changes implemented in our CSS file properly reflect on our webpage.
The Complete Example Code
ThymeleafApplication.java
package com.dotnet.thymeleaf; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ThymeleafApplication { public static void main(String[] args) { SpringApplication.run(ThymeleafApplication.class, args); } }
WebController.java
package com.dotnet.thymeleaf; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class WebController { @RequestMapping(value = "/index") public String index () { return "index"; } }
styles.css
h1 { color: red; font-style: bold; font-family: Arial, Helvetica, sans-serif; } h3 { color: blue; font-style: italic; font-family: cursive; } body { background-color: blanchedalmond; }
index.html
<!DOCTYPE html> <html> <head> <link href = "css/styles.css" rel = "stylesheet"/> <title>Spring Boot x Thymeleaf</title> </head> <body> <h1>Welcome!</h1> <h3>This application was developed in Spring Boot.</h3> </body> </html>
In the next article, I am going to discuss Spring Boot Thymeleaf Consuming RESTful Services with Examples. Here, in this article, I try to explain Spring Boot Thymeleaf with Examples. I hope you enjoy this Spring Boot Thymeleaf article.