基于Springboot的FreeMarker集成
1、引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
2、修改配置文件application.properties
# freemarker静态资源配置
spring.resources.static-locations=classpath:/static/
spring.mvc.static-path-pattern=/static/**
# 设定ftl文件路径
spring.freemarker.tempalte-loader-path=classpath:/templates
# 关闭缓存,及时刷新,上线生产环境需要修改为true
spring.freemarker.cache=false
#设定Template的编码
spring.freemarker.charset=UTF-8
#是否检查templates路径是否存在
spring.freemarker.check-template-location=true
#设定Content-Type
spring.freemarker.content-type=text/html
#设定所有request的属性在merge到模板的时候,是否要都添加到model中
spring.freemarker.expose-request-attributes=true
#设定所有HttpSession的属性在merge到模板的时候,是否要都添加到model中.
spring.freemarker.expose-session-attributes=true
#指定RequestContext属性的名.
spring.freemarker.request-context-attribute=request
#设定模板的后缀
spring.freemarker.suffix=.ftl
#设定freemarker模板的前缀
#spring.freemarker.prefix
3、在templates下创建一个ftl后缀的模板页面,如:
<html>
<head>
</head>
<body>
<p>用户名:${username}</p>
<p>密码:${password}</p>
</body>
</html>
!注意:这里可以根据自己的喜好定义后缀名称,相应修改配置文件中的后缀名称即可。不过推荐使用ftl后缀,因为这样IDEA不用做任何设置就可以在ftl页面中完美支持freemarker语法,提供强大的代码提示功能。
4、在控制层创建一个类,如:
@Controller
public class UserController {
@GetMapping("userinfo")
public String userInfo(Model model) {
model.addAttribute("username", "xxx");
model.addAttribute("password", "123");
return "userInfo";
}
}