package cn.itsource.util;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.HashMap;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;
/**
* @author Administrator
*页面静态化技术工具类
*/
public class freeMarkerUtil {
/**
* @param templatePath——路径
* @param templateName——模板名
* @param obj——对象
* @param suffix——文件后缀
* @return
*/
public static String getFile(String templatePath,String templateName,Object obj,String suffix){
OutputStreamWriter writer = null;
try {
//1获取模板对象
//1.1创建模板对象
Configuration configuration = new Configuration(Configuration.VERSION_2_3_28);
//1.2设置模板字符集
configuration.setDefaultEncoding("UTF-8");
//1.3设置模板加载路径
File file = new File(templatePath);
configuration.setDirectoryForTemplateLoading(file);
//1.4获取模板
Template template = configuration.getTemplate(templateName);
//2.准备数据
//3.生成静态资源
String fileName=System.currentTimeMillis()+suffix;
//3.1创建静态资源路径
File file2 = new File(file,fileName);
//3.2创建一个输出流
FileOutputStream outputStream = new FileOutputStream(file2);
//3.3创建一个转换流
writer =new OutputStreamWriter(outputStream, "UTF-8");
//3.4创建静态资源
template.process(obj, writer);
return fileName;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(writer!=null){
try {
//关流
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return null;
}
}
页面静态化技术FreeMark,工具类
最新推荐文章于 2024-05-22 14:28:57 发布