freemarker是一个页面模板引擎。用springboot整合freemarker的方式如以下步骤:

1.在创建springboot的项目的时候,选择freemarker的组件,或者自己手动在maven中添加库依赖:


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

2.在application.aproperties中添加相应的配置:
spring.freemarker.charset=UTF-8
spring.freemarker.content-type=text/html; charset=utf-8
spring.freemarker.expose-request-attributes=true
spring.freemarker.allow-session-override=true
spring.freemarker.expose-spring-macro-helpers=true
spring.freemarker.suffix=.ftl

spring.freemarker.settings.datetime_format=yyyy-MM-dd HH:mm:ss
spring.freemarker.settings.default_encoding=UTF-8

3.新建一个controller类来访问
@Controller
public class HelloController {
    
    @Autowired
    private UserService userService;
    
    @RequestMapping("hello")
    public String hello(ModelMap modelMap){
        List<User> users = userService.getUsers();
        User one = users.get(0);
        modelMap.put("user", one);
        return "hello";  //freemarker文件的名字
        
    }

}

4.新建一个ftl页面文件
<!DOCTYPE html>
<html lang="en-US">
    <header></header>
    <body>hello,${user.id}</body>
</html>

Freemarker的结构化布局

1.抽取header、footer、nav、js、分页,利用freemarker提供的宏,将这些部分定义成宏。

2.页面中引入header、footer

3.编写页面中自定义的部分