我喜欢黑夜,喜欢网络安全,孤独寂寞的黑夜里,我只需要,一包烟,一台笔记本...
更多
首  页>>JAVA安全开发>> JAVA安全开发利用freemarker生成静态html网页
利用freemarker生成静态html网页
5214
0推荐
0评论

利用freemarker生成静态html网页

需要下载freemarker包后使用

CreateHTML类

    package org.shack2.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.HttpServletRequest;
import freemarker.template.Configuration;
import freemarker.template.Template;
 
public class CreateHTML {
 
    // 配置信息
    Configuration cfg = null;
 
    /**
     * 
     * @ftl 模板文件的路径,必须是在WEB-INF/template下的路径
     * @dir 生成的静文件的路径必须相对于根目录的html目录下
     * @htmlName 生成静态文件的名字
     * @map 模板的数据来源
     * 
     * */
    public void create(String ftl, String dir, String htmlName,
            Map map, HttpServletRequest request)
            throws Exception {
        try {
 
            // 创建freemarker配置
            if (cfg == null) {
 
                cfg = new Configuration();
            }
 
            // 判断目录是否存在,不存在建立目录
            File ef = new File(request.getRealPath("/") + dir);
 
            createDirs(ef);
 
            // 加载ftl模板
            cfg.setDirectoryForTemplateLoading(new File(request
                    .getRealPath("/") + "WEB-INF/template/"));
            // 设置地区编码
            cfg.setEncoding(Locale.getDefault(), "UTF-8");
 
            // 取出对应模板
            Template template = cfg.getTemplate(ftl);
 
            // 设置模板编码
            template.setEncoding("UTF-8");
 
            // 生成文件路径
            File htmlPath = new File(request.getRealPath("/") + "index.html");
 
            // 生成html文件
            Writer out = new BufferedWriter(new OutputStreamWriter(
                    new FileOutputStream(htmlPath), "UTF-8"));
 
            template.process(map, out);
 
            // 清空缓存和关闭输出流
            out.flush();
            out.close();
 
        } catch (Exception e) {
 
            throw e;
 
        }
 
    }
 
    /* 创建目录 */
    public void createDirs(File f) {
        if (f.exists() == false) {
            f.mkdirs();
        }
    }
 
}

已经有 ( 0 ) 位网友对此发表了自己的看法,你也评一评吧! 此文不错,我要推荐-->    推 荐
欢迎参与讨论,请在这里发表您的看法、交流您的观点@禁止各种脚本

  • 点击Top
  • 推荐Top
  • 评论Top
更 多>>
本站采用Java语言开发,Spring框架,欢迎朋友们提意见。重新对页面进行布局,修改了程序,方便开源使用,由于本人美工真的不行 ,很少用背景图片,页面基本都用背景色...
主题:无色无味 | 网站地图|
Copyright (c) 2012-2013 www.shack2.org All Rights Reserved. | 空ICP备111111111号 | 程序设计: shack2 Powered by SJBlog v1.0 联系QQ:1341413415