freemarker调用模板.ftl文件,生成静态shtml文件

public class ControllerServletS extends HttpServlet {
private Configuration cfg;
public void init() {
// 初始化FreeMarker配置;
// - 创建一个配置实例
cfg = new Configuration();
// - 设置模板目录.
cfg.setServletContextForTemplateLoading(
getServletContext(), "WEB-INF/tmpl");
// - 设置模板延迟时间,测试环境设置为0,正是环境可提高数值.
cfg.setTemplateUpdateDelay(0);
// - 设置错误句柄
cfg.setTemplateExceptionHandler(
TemplateExceptionHandler.HTML_DEBUG_HANDLER);
cfg.setObjectWrapper(ObjectWrapper.BEANS_WRAPPER);
// - 设置默认模板编码
cfg.setDefaultEncoding("gbk");
// - 设置输出编码
cfg.setOutputEncoding("gbk");
cfg.setLocale(Locale.SIMPLIFIED_CHINESE);
}
Template t = cfg.getTemplate(page.getTemplate());
//此处调模板直接输出到终端显示,不生成静态页面.
//Writer out = resp.getWriter();
//try {
//t.process(page.getRoot(), out);
// } catch (TemplateException e) {
// throw new ServletException(
// "加载FreeMarker模板出错", e);
// }

[color=red]此处生成静态页面[/color]
try{
Template t=cfg.getTemplate(templateFileName);
File afile=new File(htmlFilePath+htmlFileName);
Writer out=new OutputStreamWriter(new FileOutputStream(afile),"GB2312");
StringWriter write=new StringWriter();
write.flush();
t.process(propMap, out);
System.out.println(write.toString());
}catch(TemplateException e){
logger.error("error"+templateFileName,e);
return false;
}catch(IOException e){
logger.error("error"+htmlFileName,e);
return false;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值