freemaker 入门

  1. 新建maven项目

freemaker 入门_第1张图片

    2.导入pom文件 ,这里是我的pom文件,里面有freemaker的包


	4.0.0

	get
	jar
	0.0.1-SNAPSHOT
	jar

	jar
	http://maven.apache.org

	
		UTF-8
	

	
		
			junit
			junit
			3.8.1
			test
		

		
			org.apache.maven.plugins
			maven-resources-plugin
			2.6
		


		
		
			org.apache.poi
			poi-ooxml
			3.9
		

		
			org.apache.poi
			ooxml-schemas
			1.1
		
		
		
			org.freemarker
			freemarker
			2.3.22
		

	

 

  3.准备好模板文件

  • 在当前项目目录下新建模板文件文件夹(用来放模板文件)

freemaker 入门_第2张图片

  • 在该文件夹内新建test.docx文件,并且另存为test.xml

freemaker 入门_第3张图片

freemaker 入门_第4张图片

 

  • 编辑test.xml文件,标记要替换的地方

freemaker 入门_第5张图片

freemaker 入门_第6张图片

  • 将xml文件改成ftl文件
  • freemaker 入门_第7张图片

 插入代码,并且运行

package com.freemaker_test;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

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

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args ) throws IOException, TemplateException
    {
    	final Configuration cfg = new Configuration(Configuration.VERSION_2_3_22);
    	File file = new File("");
    	String templateFilePath = file.getCanonicalPath() + "\\template_file";//模板文件路径
		String outFilePath = templateFilePath + "\\out\\out.doc";//输出doc文件路径
		cfg.setDirectoryForTemplateLoading(new File(templateFilePath));//从模板文件目录获取模板文件
		cfg.setDefaultEncoding("UTF-8");//一定要设置编码,如果编码不统一会导致乱码问题
		Template template = cfg.getTemplate("test.ftl", "UTF-8");
		Map root = new HashMap();
		root.put("TestData", "test_data");
		Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFilePath), "UTF-8"));
		template.process(root, out);
    }
}

 

freemaker 入门_第8张图片

你可能感兴趣的:(freemaker 入门)