使用freemarker模板生成文件主要配置
2012-02-11 14:09
806 查看
package com.ihandy.mvnversion.freemarker; import java.io.File; import java.io.FileWriter; import java.io.Writer; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import freemarker.template.Configuration; import freemarker.template.DefaultObjectWrapper; import freemarker.template.Template; /** * Freemarker 服务类 * @author zzg */ public class FreemarkerService { /** 存放freemarker模板的文件夹路径,依赖注入 */ private String templateDir; private Configuration cfg; private static final Logger logger = LoggerFactory.getLogger(FreemarkerService.class); /** * 实例化Freemarker Configuration */ public void init() { try { if (StringUtils.isBlank(templateDir)) { throw new RuntimeException("请配置存放freemarker模板的文件夹路径 templateDir "); } logger.info("开始实例化Freemarker Configuration,templateDir:" + templateDir); cfg = new Configuration(); cfg.setDirectoryForTemplateLoading(new File(templateDir)); cfg.setObjectWrapper(new DefaultObjectWrapper()); } catch (Exception e) { logger.error("实例化Freemarker Configuration时出现错误", e); } } /** * 使用模板文件生成配置文件 * @param rootMap freemarker数据模型 * @param destFile 目标文件 * @param ftlFile freemarker模板文件 */ public void write(Object rootMap, String destFile, String ftlFile) { try { logger.info("开始使用【" + ftlFile + "】模板文件生成【 " + destFile + "】"); Template tpl = cfg.getTemplate(ftlFile); Writer out = new FileWriter(destFile); tpl.process(rootMap, out); out.flush(); logger.info("使用【" + ftlFile + "】模板文件生成【 " + destFile + "】成功"); } catch (Exception e) { logger.error("使用【" + ftlFile + "】模板文件生成【 " + destFile + "】时出错错误", e); } } public String getTemplateDir() { return templateDir; } public void setTemplateDir(String templateDir) { this.templateDir = templateDir; } }
相关文章推荐
- java使用 freemarker 模板生成一个excel文件多个sheet
- 记录使用freemarker生成word的模板ftl文件以及word的遍历数据
- 使用T4模板生成不同部署环境下的配置文件
- 使用T4模板生成不同部署环境下的配置文件
- 使用Freemarker模板生成JAVA代码
- java使用Properties类生成配置文件
- 代码动态模板的使用和配置文件下载
- 使用Xdoclet生成Hibernate配置文件(hibernate.cfg.xml)和Hibernate映射文件(*.hbm.xml)
- 使用SVCUtil.exe生成客户端代理类和配置文件
- 转载:如何使用XCodeFactory自动生成XML配置文件和对应的解析类
- 使用hibernate扩展工具Hbm2JavaTask根据配置文件生成持久化对象类(2.1.2)
- FreeMarker工具类,用来根据模板文件生成html文件,html字符串等
- python 利用模板文件生成配置文件
- 如何使用PHP生成动态配置文件
- JavaSE8基础 Properties+反射 读取配置文件,使用无参构造函数生成类的实例对象
- 使用vscode,根据vue基础模板文件生成代码
- PHP 中使用 Smarty 之二:配置文件在模板变量中的使用
- 使用Spring计时器和velocity模板定时生成静态html/jsp文件
- 使用dom4j从XML配置文件中生成菜单(二)
- Mybatis使用generator自动生成映射配置文件信息