1. 依赖包
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.30</version>
</dependency>
2.工具类
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;
public class FreeMarkerUtil {
/**
* 获取模板
*
* @param templateName 模板名称
* @return 模板
*/
public static Template getTemplate(String templateName) {
try {
//通过Freemaker的Configuration读取相应的ftl
Configuration cfg = new Configuration(Configuration.VERSION_2_3_30);
//设定去哪里读取相应的ftl模板文件
cfg.setClassForTemplateLoading(Template.class, "/templates/");
//在模板文件目录中找到名称为name的文件
Template temp = cfg.getTemplate(templateName);
return temp;
} catch (IOException e) {
return null;
}
}
/**
* 获取替换后的模板
*
* @param templateName 模板名称
* @param replaceVariateMap 需要替换的变量
* @return 替换后的模板
*/
public static String getReplaceTemplate(String templateName, Map replaceVariateMap) {
try {
if (StringUtils.isBlank(templateName)) {
return null;
}
Template template = FreeMarkerUtil.getTemplate(templateName);
if (template == null) {
return null;
}
StringWriter out = new StringWriter();
template.process(replaceVariateMap, out);
StringBuffer buffer = out.getBuffer();
return buffer.toString();
} catch (TemplateException e) {
return null;
} catch (IOException e) {
return null;
}
}
public static void main(String[] args) {
String dam_pwdrest_email_jumppath = "地址";
HashMap map = new HashMap();
map.put("dam_pwdrest_email_jumppath", dam_pwdrest_email_jumppath);
String replaceTemplate = getReplaceTemplate("pwdreset_sendemail_template.ftl", map);
System.err.println(replaceTemplate);
}
}