|
转载:http://tech.ddvip.com
package freemarker;import java.io.File;import java.io.FileOutputStream;import java.io.OutputStreamWriter;import java.io.Writer;import java.util.HashMap;import java.util.Map;import freemarker.template.Configuration;import freemarker.template.Template;public classTest2{ private Configurationcfg; public ConfigurationgetCfg(){ return cfg; } public void init()throws Exception{ cfg=new Configuration(); cfg.setDirectoryForTemplateLoading(newFile("bin/freemaker")); } public static void main(String[]args)throws Exception{ Test2 obj=new Test2(); obj.init(); Map root=new HashMap(); root.put("user","java2000.net"); Map latestProduct=new HashMap(); latestProduct.put("url","http://www.java2000.net"); latestProduct.put("name","Java世纪网"); root.put("latestProduct",latestProduct); Templatet=obj.getCfg().getTemplate("Test2.ftl"); Writer out=new OutputStreamWriter(new FileOutputStream("Test2.html"),"GBK"); t.process(root,out); System.out.println("Successfull................"); }}
模板
<html><head> <title>Welcome!</title></head><body> <h1>Welcome${user}!</h1> <p>Ourlatestproduct: <a href="${latestProduct.url}">${latestProduct.name}</a>!</body></html>
运行结果
<html><head> <title>Welcome!</title></head><body> <h1>Welcomejava2000.net!</h1> <p>Ourlatestproduct: <a href="http://www.java2000.net">Java世纪网</a>!</body></html>
分析:
数据结构为
(root)
|
+- user = "java2000.net"
|
+- latestProduct
|
+- url = "http://www.java2000.net"
|
+- name = "Java世纪网"
我们使用嵌套的Map给其传递参数 |
|