六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 140|回复: 0

freemarker(2)给模板传递参数的测试

[复制链接]

升级  10.2%

171

主题

171

主题

171

主题

进士

Rank: 4

积分
551
 楼主| 发表于 2013-2-7 19:51:41 | 显示全部楼层 |阅读模式
转载: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给其传递参数
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表