Freemarker 生成HTML工厂例子

本文介绍了一个使用Freemarker实现的HTML模版生成工具。该工具通过加载指定的模版文件,结合传入的数据模型,生成HTML文件。具体实现了模版加载、编码设置及输出文件等功能。
package com.yuelun.wochengz.util; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.util.Locale; import java.util.Map; import javax.servlet.http.HttpServlet; import org.apache.struts.action.ActionServlet; import freemarker.template.Configuration; import freemarker.template.Template; @SuppressWarnings("unchecked") public class FreeMarkerFactory extends HttpServlet{ /** * * @param ftl 模版名称 * @param htmlName 生成的THML名称 * @param path html存放路径 * @param fileName 模版存放文件夹 * @param root 数据模型 * @return */ public static boolean init(String ftl,String htmlName,String path,String fileName,Map root,ActionServlet servlet){ boolean flag = true; Configuration config = new Configuration(); //加载模版 config.setServletContextForTemplateLoading(servlet.getServletContext(), "/"+fileName); //设置编码 config.setEncoding(Locale.getDefault(), "GBK"); try { //指定模版 Template template = config.getTemplate(ftl); template.setEncoding("GBK"); File io = new File(path); if(!io.exists()){ io.mkdirs(); } //输出THML Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(path,htmlName)),"GBK")); //解析文件并输出 template.process(root, out); } catch (Exception e) { flag = false; e.printStackTrace(); } return flag; } }
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值