springboot整合FreeMarker实现短信邮件等模板配置
<!-- freemarker -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
spring:
freemarker:
# 设置模板后缀名
suffix: .ftl
# 设置文档类型
content-type: text/html
# 设置页面编码格式
charset: UTF-8
# 设置页面缓存
cache: false
prefer-file-system-access: false
# 设置ftl文件路径
template-loader-path:
- classpath:/templates
- 编写短信模板
在resources下创建templates如下图
在templates包下创建后缀为ftl的模板文件如下图
- 获取模板动态的填写${}里面的值转成string输出如下图
@Autowired
private FreeMarkerConfigurer freeMarkerConfigurer;
@Test
public void test() throws IOException, TemplateException {
Template template=freeMarkerConfigurer.getConfiguration().getTemplate("domeTest.ftl");
Map<String,Object> model=new HashMap<String,Object>();
model.put("name","张三");//键name对应domeTest.flt里面的${name}
model.put("meetingName","党员会议");//键meetingName对应domeTest.flt里面的${meetingName}
model.put("meetingAddress","中国");//键meetingAddress对应domeTest.flt里面的${meetingAddress}
model.put("meetingStartTime","2020.06.16");//键meetingStartTime对应domeTest.flt里面的${meetingStartTime}
String content= FreeMarkerTemplateUtils.processTemplateIntoString(template, model);//调用processTemplateIntoString将domeTest.ftl内容输出转成string
}
完成