freemarker的例子

test.ftl
<html>
<head>
  <title>Welcome!</title>
</head>
<body>
  <h1>Welcome ${user} !</h1>
  <p>Our latest product:</p>
  <a href="${latestProduct.url}">${latestProduct.name}</a>
</body>

Test.java
package test;
import freemarker.template.*;
import java.util.*;
import java.io.*;

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
try {
/* 在整个应用的生命周期中,这个工作你应该只做一次。 */
/* 创建和调整配置。 */
Configuration cfg=new Configuration();
cfg.setDirectoryForTemplateLoading(new File("C:/ftl"));
cfg.setObjectWrapper(new DefaultObjectWrapper());
/* 在整个应用的生命周期中,这个工作你可以执行多次 */
/* 获取或创建模板*/
Template temp=cfg.getTemplate("test.ftl");
/* 创建数据模型 */
Map root=new HashMap();
root.put("user", "Big Joe");
Map latest=new HashMap();
root.put("latestProduct", latest);
latest.put("url", "products/greenmouse.html");
latest.put("name", "green mouse");
/* 将模板和数据模型合并 */
Writer out=new OutputStreamWriter(System.out);
temp.process(root, out);
out.flush();

OutputStream ops=new FileOutputStream("C:/ftl_result/test.html");
Writer out2=new OutputStreamWriter(ops);
temp.process(root, out2);
out2.flush();

} catch (Exception e) {
e.printStackTrace();
}

}

}

你可能感兴趣的:(freemarker)