search
HomeJavajavaTutorialHow to implement springboot microservice project integrated html page

Spring Boot microservice projects usually provide services through REST API instead of directly integrating HTML pages.

If you integrate HTML pages in a Spring Boot project, after a brief arrangement, you can use the following common methods:

  • **Thymeleaf: **Thymeleaf is a Java template engine for creating extensible XML/HTML/text templates in web and standalone environments. It integrates easily with Spring Boot, is simple to use, and supports features such as template inheritance and expression language.

  • **FreeMarker: **FreeMarker is a template-based view rendering engine that supports the generation of dynamic HTML, XML, JSON, JavaScript, CSS and other files. It can also be easily integrated with Spring Boot, is simple to use, and supports features such as template inheritance and custom directives.

  • **JSP: **JSP is a dynamic web development technology based on Java technology, which can easily embed Java code and generate HTML pages. It can also be integrated with Spring Boot, but requires additional configuration of dependencies and plug-ins.

For example, if you choose to use Thymeleaf, you can follow the following steps:

1, add the following dependencies in pom.xml:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

2, add the following configuration in application.properties:

2.1 Configure the path where the Thymeleaf template file is located

spring.thymeleaf.prefix=classpath:/templates/

2.2 Configure the suffix name of the Thymeleaf template file

spring.thymeleaf.suffix=.html

2.3 Configuration Thymeleaf template file character set

spring.thymeleaf.encoding=UTF-8

2.4 Turn on caching

spring.thymeleaf.cache=true

3, create HTML template file

Create HTML template file in the src/main/resources/templates directory, and Use Thymeleaf tags for operations such as dynamic data binding and conditional rendering.

For example, the following is a simple HTML template file index.html:

<!DOCTYPE html>
<html>
<head>
    <title>Spring Boot + Thymeleaf</title>
</head>
<body>
    <h2 id="Welcome-nbsp-to-nbsp-Spring-nbsp-Boot">Welcome to Spring Boot</h2>
    <p th:text="${message}">This is a placeholder text.</p>
</body>
</html>

4, create a controller

In the controller of the Spring Boot application, use @ The GetMapping annotation defines a request processing method that returns a ModelAndView object, and passes the template file name and dynamic data to the ModelAndView object.

For example, the following is a simple controller class HomeController:

@Controller
public class HomeController {
    
    @GetMapping("/")
    public ModelAndView index() {
        ModelAndView modelAndView = new ModelAndView("index");
        modelAndView.addObject("message", "Hello, world!");
        return modelAndView;
    }
    
}

In this way, you can see the rendered HTML page by visiting http://localhost:8080 in the browser.

Let’s take another FreeMarker example to briefly explain:

When using Spring Boot to build a web application, you can use FreeMarker as a template engine to render HTML pages. FreeMarker is an open source Java template engine that allows you to generate documents such as HTML by defining templates. The following are some common methods to integrate FreeMarker in Spring Boot projects:

5, Add dependencies

Add FreeMarker dependencies in the project's pom.xml file:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

6, Configure the view parser

Add the following configuration in the application.properties file to tell Spring Boot to use FreeMarker as the template engine to parse the view:

spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.ftl

7, Create the template file:

Create a .ftl file in the src/main/resources/templates directory, which will be used to render HTML pages. In a template file, you use FreeMarker's template language to define the content of your HTML page.

For example, the following is a simple template file that will render an HTML page containing "Hello World":

<!DOCTYPE html>
<html>
<head>
    <title>Hello World</title>
</head>
<body>
    <h2 id="message">${message}</h2>
</body>
</html>

In the above template, ${message} will be replaced with actual value. You can use a model in Java code to set this value.

8, Create a controller

Create a controller in the Spring Boot application to handle HTTP requests and return the name and model of the template. Here is a sample controller:

@Controller
public class HomeController {
    @GetMapping("/")
    public String home(Model model) {
        model.addAttribute("message", "Hello World!");
        return "home";
    }
}

In the above example, the controller returns the "home" string, which will be used as the name of the template file. It also adds a model to the view, which contains a property called "message" and a value of "Hello World!"

These are some common ways to use FreeMarker as a template engine in Spring Boot projects. When you use FreeMarker, you can also use advanced features such as conditional statements, iterators, and macros to have more control over the generated HTML pages.

The above is the detailed content of How to implement springboot microservice project integrated html page. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:亿速云. If there is any infringement, please contact admin@php.cn delete
How does IntelliJ IDEA identify the port number of a Spring Boot project without outputting a log?How does IntelliJ IDEA identify the port number of a Spring Boot project without outputting a log?Apr 19, 2025 pm 11:45 PM

Start Spring using IntelliJIDEAUltimate version...

How to elegantly obtain entity class variable names to build database query conditions?How to elegantly obtain entity class variable names to build database query conditions?Apr 19, 2025 pm 11:42 PM

When using MyBatis-Plus or other ORM frameworks for database operations, it is often necessary to construct query conditions based on the attribute name of the entity class. If you manually every time...

How to use the Redis cache solution to efficiently realize the requirements of product ranking list?How to use the Redis cache solution to efficiently realize the requirements of product ranking list?Apr 19, 2025 pm 11:36 PM

How does the Redis caching solution realize the requirements of product ranking list? During the development process, we often need to deal with the requirements of rankings, such as displaying a...

How to safely convert Java objects to arrays?How to safely convert Java objects to arrays?Apr 19, 2025 pm 11:33 PM

Conversion of Java Objects and Arrays: In-depth discussion of the risks and correct methods of cast type conversion Many Java beginners will encounter the conversion of an object into an array...

How do I convert names to numbers to implement sorting and maintain consistency in groups?How do I convert names to numbers to implement sorting and maintain consistency in groups?Apr 19, 2025 pm 11:30 PM

Solutions to convert names to numbers to implement sorting In many application scenarios, users may need to sort in groups, especially in one...

E-commerce platform SKU and SPU database design: How to take into account both user-defined attributes and attributeless products?E-commerce platform SKU and SPU database design: How to take into account both user-defined attributes and attributeless products?Apr 19, 2025 pm 11:27 PM

Detailed explanation of the design of SKU and SPU tables on e-commerce platforms This article will discuss the database design issues of SKU and SPU in e-commerce platforms, especially how to deal with user-defined sales...

How to set the default run configuration list of SpringBoot projects in Idea for team members to share?How to set the default run configuration list of SpringBoot projects in Idea for team members to share?Apr 19, 2025 pm 11:24 PM

How to set the SpringBoot project default run configuration list in Idea using IntelliJ...

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.