`
yaozhiqiang109
  • 浏览: 117478 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

用Freemarker生成静态页面

    博客分类:
  • JAVA
阅读更多
/**
	 * 生成静态页面
	 * @param templatePath 模版路径
	 * @param templateName 模版名称
	 * @param fileName 生成静态页面路径
	 * @param root 参数
	 */
	public static void createHtml(String templatePath,String templateName,String fileName,Map<?,?> root)throws Exception{ 
		try { 
			Configuration config=new Configuration(); //设置要解析的模板所在的目录,并加载模板文件
			config.setDirectoryForTemplateLoading(new File(templatePath)); //设置包装器,并将对象包装为数据模型 
			config.setObjectWrapper(new DefaultObjectWrapper()); //获取模板,并设置编码方式,这个编码必须要与页面中的编码格式一致 //否则会出现乱码 
			Template template=config.getTemplate(templateName,"utf-8"); //合并数据模型与模板 
			FileOutputStream fos = new FileOutputStream(fileName); 
			Writer out = new OutputStreamWriter(fos,"utf-8"); 
			template.process(root, out); 
			out.flush(); 
			out.close(); 
		} catch (IOException e) { 
			e.printStackTrace();
			logger.info("生成静态页面异常:"+e.getMessage());
			throw new Exception(e);
		}catch (TemplateException e1) { 
			logger.info("生成静态页面异常:"+e1.getMessage());
			throw new Exception(e1);
		} 
	}

 

<servlet>
		<servlet-name>freemarker</servlet-name>
		<servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class>
	</servlet>
<servlet-mapping>
		<servlet-name>freemarker</servlet-name>
		<url-pattern>*.ftl</url-pattern>
	</servlet-mapping>
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics