使用freemarker生成文件

转载 2012年03月21日 23:29:12

 

import freemarker.template.Configuration;
import freemarker.template.TemplateException;

public class Generator {

    private static Configuration cfg = null;

    static {
        if (null == cfg) {
            cfg = new Configuration();
            try {
                cfg.setDirectoryForTemplateLoading(new File(Generator.class
                    .getResource("/").getPath()
                    + "template"));
                cfg.setDefaultEncoding("MS932");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }


    public static void main(String args[]) {
        try {
            Map<String, List<{xxx}Bean>> infoMap = 初期化;

            if (null != infoMap) {
                Entry<String, List<{xxx}Bean>> tblInfo = null;

                for (Iterator<Entry<String, List<{xxx}Bean>>> i = infoMap
                    .entrySet().iterator(); i.hasNext();) {
                    tblInfo = i.next();

                  {xxx}Generator.genarator{xxx}(cfg, tblInfo);

                }

            } else {
                System.out.println("テーブルが存在しません、配置ファイルを直してください");
            }
        } catch (IOException e) {
            // TODO 自動生成された catch ブロック
            e.printStackTrace();
        } catch (TemplateException e) {
            // TODO 自動生成された catch ブロック
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO 自動生成された catch ブロック
            e.printStackTrace();
        }
    }

 

public class {xxx}Generator  {

    public static void genarator(Configuration cfg,
        Entry<String, List<{xxx}Bean>> tableInfo) throws IOException,
        TemplateException {
        BufferedWriter writer = null;

        try {
            String path = {出力パス}

            // パスが存在なければ、新規作成する
            FileUtil.mkdir(path);

            writer = new BufferedWriter(new OutputStreamWriter(
                new FileOutputStream(path), {Encode()}));

            Map<String, Object> rootMap = new HashMap<String, Object>();

            Template tpl = cfg.getTemplate("{xxxx}.tpl");
            tpl.setEncoding("UTF-8");

            tpl.process(rootMap, writer);
        } finally {
            if (null != writer) {
                writer.flush();
                writer.close();
            }
        }

 

java使用 freemarker 模板生成一个excel文件多个sheet

java生成excel文件多个sheet

使用freemarker模板生成文件主要配置

package com.ihandy.mvnversion.freemarker; import java.io.File; import java.io.FileWriter; import ja...

Java使用Freemarker和iText生成PDF文件

项目里需要实现客户下载pdf文件的一个需求,在经过比较之后决定使用Freemarker+iText解决这个问题。在整个实现过程中遇到不少问题,总结一下贴出来吧,也许今后用得上。   使用的jar:...
  • hj7jay
  • hj7jay
  • 2016年06月19日 10:02
  • 6040

使用FreeMarker生成Html静态文件

要生成静态页面,在网上找的,稍微修改了一下,还不错,呵呵。 FreeMarker这个东西还算是可以的,我觉得还是比JSP要清晰一些。 引用 import java.io.*; import...
  • sz_bdqn
  • sz_bdqn
  • 2013年09月08日 13:08
  • 4294

Java freemarker生成word文件

  • 2015年07月24日 14:15
  • 12KB
  • 下载

FreeMarker生成word文件

  • 2014年09月09日 23:45
  • 195KB
  • 下载

FreeMarker生成word文件入门

废话不多少了,如果是单纯的打印报表,而且客户要求不高的话建议用网页输出,直接打印,因为操作比较简单嘛。 今天主要讨论下用FreeMarker如何输出word。 因为FreeMarker是用 模版+...

关于Freemarker生成静态html文件及中文乱码的问题 .

先看生成静态html文件:   FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HT...

程序员日报、周报不再愁!java通过freemarker自动生成doc文件!

需求老板需要看程序员日报、周报,程序员就给他看?no,写份日报的时间 == 写10行有效的代码 。因此为节省时间,我们采用freemarker模板生成方式自动生成doc文件,然后定时发送邮件给老板,数...

freemarker 模版生成文件

网上找了点资料,自动生成html文件,下载jar包,创建共通方法,分装数据。调用生成。 import java.io.BufferedWriter; import java.io.FileOut...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用freemarker生成文件
举报原因:
原因补充:

(最多只允许输入30个字)