第一个freemarker例子

在这里我就不多讲freemarker是什么了,网上有书籍可以去看。

下面我就说下如何写第一个和freemarker相关的小例子,我也是在初学,文章的内容来自于视频,说的不好的地方还请大家见谅。

1,在myeclipse里创建一个web project,讲freemarker.jar和junit.jar放入lib文件夹下。

2,在src下创建一个ftl包。在包下创建一个新文件01.ftl。ftl文件内容:你好:${username}

3,创建一个java文件FreeMarkerUtil.java。代码如下:

package cn.app.freemarker;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;

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

/**
 * FreeMarker初学第一步
 * @author xuhf
 *
 */
public class FreeMarkerUtil {
	
	/**
	 * getTemplate("01.ftl")
	 * @param name
	 * @return
	 */
	public Template getTemplate(String name){
		//通过freemarker的Configuration读取相应的ftl
		Configuration conf = new Configuration();
		//设置模板路径(去哪里读取相应的ftl模板文件)
		conf.setClassForTemplateLoading(this.getClass(), "/ftl");
		Template template;
		try {
			//在模板文件目录中找到名为name的文件
			template = conf.getTemplate(name);
			return template;
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
	}
	
	/**
	 * 输出
	 * @param name
	 * @param root
	 */
	public void print(String name,Map<String, Object> root){
		//通过template可以将模板文件输出到相应的流中
		Template template = this.getTemplate(name);
		try {
			template.process(root, new PrintWriter(System.out));
		} catch (TemplateException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

4,创建测试类,代码如下:

package cn.app.junit;

import java.util.HashMap;
import java.util.Map;

import org.junit.Before;
import org.junit.Test;

import cn.cntv.freemarker.FreeMarkerUtil;

/**
 * 对freemarker进行测试类
 * @author xuhf
 *
 */
public class TestFreeMarker {
	
	FreeMarkerUtil fu;
	
	@Before
	public void setUp(){
		fu = new FreeMarkerUtil();
	} 
	
	@Test
	public void test01(){
		//1,创建数据模型
		Map<String, Object> root = new HashMap<String, Object>();
		//2,为数据模型添加值
		root.put("username", "测试");
		//3,将数据模型和模板组合的数据输出到控制台
		fu.print("01.ftl", root);
	}
}


运行测试类,我们就可以在控制台看到输出:你好:测试。

这样,我们的第一个freemarker例子就完成了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章