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.编写页面中自定义的部分