FreeMarker实例

  • 格式:pdf
  • 大小:36.64 KB
  • 文档页数:1

FreeMarker实例

1.jar包:freemarker-2.3.19.jar,将jar拷贝到lib⽬录下;

2.新建Web项⽬:TestFreeMarker

在web⽬录下新建ftl⽂件夹;

在ftl下新建模版⽂件ftl03.ftl

<#ftl attributes={"content_type":"text/html; charset=UTF-8"}>

Insert title here

${hello},cfg.setDirectoryForTemplateLoading(new File("/ftl"));测试

3.Java测试类FreeMarkerDemo:

package com.freemarker.test;

import java.io.File;

import java.io.PrintWriter;

import java.io.StringWriter;

import java.util.HashMap;

import java.util.Map;

import freemarker.template.Configuration;

import freemarker.template.Template;

public class FreeMarkerDemo {

public static void main(String[] args) {

try {

// 通过Freemaker的Configuration读取相应的ftl

Configuration cfg = new Configuration();

// 设定去哪⾥读取相应的ftl模板⽂件

cfg.setDirectoryForTemplateLoading(new File("D:/workspace/TestFreeMarker/WebContent/ftl"));

// 在模板⽂件⽬录中找到名称为name的模板⽂件

Template template = cfg.getTemplate("ftl03.ftl");

Map root = new HashMap();

root.put("hello", "Hello FreeMarker!");

root.put("files", "li");

//以字符串形式在控制台输出

StringWriter stringWriter = new StringWriter();

template.process(root, stringWriter);

String resultStr = stringWriter.toString();

System.out.println(resultStr);

//以⽂件形式输出到指定⽂件

PrintWriter pt = new PrintWriter(new File("D:/pt.txt"));

template.process(root, pt);

} catch (Exception e) {

e.printStackTrace();

}

}

}

控制台输出结果resultStr:

Insert title here

Hello FreeMarker!,cfg.setDirectoryForTemplateLoading(new File("/ftl"));测试

同时在D盘⽣成pt.txt⽂件,内容与resultStr相同。