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;
}
}
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;
}
}