Home > Java > javaTutorial > How to implement springboot microservice project integrated html page

How to implement springboot microservice project integrated html page

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2023-05-13 13:49:06
forward
1517 people have browsed it

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>
Copy after login

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/
Copy after login

2.2 Configure the suffix name of the Thymeleaf template file

spring.thymeleaf.suffix=.html
Copy after login

2.3 Configuration Thymeleaf template file character set

spring.thymeleaf.encoding=UTF-8
Copy after login

2.4 Turn on caching

spring.thymeleaf.cache=true
Copy after login

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>Welcome to Spring Boot</h2>
    <p th:text="${message}">This is a placeholder text.</p>
</body>
</html>
Copy after login

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;
    }
    
}
Copy after login

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>
Copy after login

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
Copy after login

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>${message}</h2>
</body>
</html>
Copy after login

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";
    }
}
Copy after login

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!

Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template