加入Freemarker依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency>
配置文件:
spring:
freemarker:
cache: false
charset: UTF-8
template-loader-path: classpath:/templates/
suffix: .ftl
controller:
@GetMapping("/freemarker/index") public String index(ModelMap modelMap) { modelMap.addAttribute("msg", "Hi , freemarker !"); return "/freemarker/index"; }
srcmain esources emplatesfreemarkerindex.ftl:
<!DOCTYPE html> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>${msg}</h1> </body> </html>
访问:
http://127.0.0.1:8081/freemarker/index
介绍FreeMarker的常用语法。
(1)通用赋值:${xxx}格式
• 比如后台返回键值aaa=string,可以使用${aaa?string},输出“Hi , freemarker!”。
• 比如后台返回键值aaa="2018-08-01 23:59",可以使用${aaa?string("EEE,MMMd,yy")},输出:星期二,八月 14,18。
• 比如后台返回键值aaa=false,可以使用${aaa?string("是","否")},输出:否。
(2)数值赋值:#{xxx}或者#{xxx;format}格式后者format可以是以下格式(其中X和Y为数字):
• mX 小数部分最小X位,比如后台返回值aaa=3.782131,可以使用#{x;m2},输出3.78。
• MX 小数部分最大X位,比如后台返回值aaa=3.782131,可以使用#{x;M3},输出3.782。
• mXMY 小数部分最小X位,最大Y位,比如后台返回值aaa=3.782131,可以使用#{x;m1M3},输出3.782。
(3)常用内建函数
• html 对字符串进行HTML编码。
• lower_case 字符串转小写。
• upper_case 字符串转大写。
• trim 去前后空格。
• size 获取集合元素数量。
• int 获取数字部分。
(4)常用指令
• if elseif else 分支控制语句。
• list 输出集合数据。
• import 导入变量。
• include 类似于包含指令。
文章来源:Spring Boot 2实战之旅 3.5 使用页面模板
源码:https://gitee.com/caoyeoo0/xc-springboot/tree/FreeMarker%E6%A8%A1%E6%9D%BF/