1、导包
freemarker.jar 导入freemarker的jar包
2、工具类
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import freemarker.template.Configuration;
import freemarker.template.Template;
public class FreeMarkerUtil {
public static String getFile(String templatePath,String templateName,Object data,String suffix){
FileWriter fileWriter=null;
try {
Configuration configuration = new Configuration(Configuration.VERSION_2_3_28);
File file = new File(templatePath);
configuration.setDirectoryForTemplateLoading(file);
configuration.setDefaultEncoding("UTF-8");
Template template = configuration.getTemplate(templateName);
long currentTimeMillis = System.currentTimeMillis();
fileWriter = new FileWriter(new File(file,currentTimeMillis+suffix));
template.process(data, fileWriter);
return currentTimeMillis+suffix;
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if(fileWriter!=null)
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
}
3、例:
@Override
public void save(Article article,HttpServletRequest req) {
String templatePath = req.getServletContext().getRealPath("/static/template");
String fileUrl = FreeMarkerUtil.getFile(templatePath, "article.ftl", article, ".html");
article.setUrl(fileUrl);
mapper.save(article);
}