1、 FreeMarker:一个模版引擎,纯java编写,主要用于实现 数据与模版合并 生成HTML页面
java封装处理数据,然后通过FreeMarker语言把数据结合到ftl模版。
2、简单实例思路:.ftl模版(1.ftl) + 数据类(hashmap) ------处理类方法process(1.ftl,hashmap)----> 结合后输出。
3、freemarker.template.Configuration config=new freemarker.template.Configuration();
public class TestFreeMarker {
@Test
public void testFreeMarker() {
String dir = "E:/test";
try {
Configuration cfg = new Configuration();
//定义从哪里加载模板文件
cfg.setDirectoryForTemplateLoading(new File(dir));
//定义从哪里获取模板:FreeMarkerManager.class所在的包下的templates包(文件夹)
//cfg.setTemplateLoader(new ClassTemplateLoader
// (FreeMarkerManager.class,"templates"));
//定义对象包装器
cfg.setObjectWrapper(new DefaultObjectWrapper());
//定义异常处理器
cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
//定义数据模型
Map root = new HashMap();
root.put("abc", "hello,fled");
//通过freeMarker解释模板,首先需要获得template
Template template = cfg.getTemplate("test.ftl");
//定义解释完模板后的输出
PrintWriter printWriter = new PrintWriter(
new BufferedWriter(
new FileWriter(dir+"/out.txt")
)
);
//解释模板
template.process(root, printWriter);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}