freemarker小例子

1.在D盘下创建一个目录D:\\freemarker
2.在以上目录中放入一个模板文件test.tld,内容如下:
    第一个测试程序:${abc}
3.java代码如下( 需要导入freemarker.jar包
package com.wlh.oa.freemarker;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;

import junit.framework.TestCase;
import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template;
import freemarker.template.TemplateExceptionHandler;

public class FreemarkerTest extends TestCase {
	
	private String dir = "D:\\freemarker";
	
	public void testFreemarker(){
		try {
			Configuration cfg = new Configuration();
			
			//从什么地方加载freemarker模板文件
			cfg.setDirectoryForTemplateLoading(new File(dir));
			
			//设置对象包装器
			cfg.setObjectWrapper(new DefaultObjectWrapper());
			
			//设置异常处理器
			cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
			
			//定义Template对象
			Template template = cfg.getTemplate("test.ftl");
			
			//定义数据
			Map root = new HashMap();
			root.put("abc", "世界,你好");
			
			//定义输出
			PrintWriter out 
				= new PrintWriter(
					new BufferedWriter(
						new FileWriter(dir+"\\out.txt")
					)
				);
			
			//****最重要的就是这一步,动态加载“世界,你好”到abc所在的位置
			template.process(root, out);
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
}


4.执行以上代码,会在D:\\freemarker\\下生成一个文件out.txt
  内容为:
   第一个测试程序:世界,你好

你可能感兴趣的:(java,freemarker,JUnit)