<#assign name="张三"/><#-- 给后台传来的name变量赋值 -->
或者使用macro指令创建“自定义指令”:
<#macro sayHello name>
欢迎您光临,${name}
#macro>
后面调用<#macro "张三">#macro>即可打印出“欢迎您光临,张三”。
<#macro pageFoot date>
Copyright (C) ${date} 某某直播平台.
#macro>
<#assign mail="[email protected]"/>
上面定义了一个自定义指令“pageFoot”,用来在网页的尾部放置网站版权信息,其中日期
<#import "b.ftl" as bb/>
<@bb.pageFoot date="2007-2018"/>
${bb.mail}
${mail}
<#assign mail="[email protected]"/>
${mail}
<#assign mail="[email protected]" in bb/>
${bb.mail}
我们在测试类中,在动态参数中放置页面自己的mail变量:
package cn.com.test.freemarker;
import java.io.File;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;
public class Test1 {
public static void main(String[] args) throws Exception {
//创建Freemarker配置实例
Configuration cfg = new Configuration();
cfg.setDirectoryForTemplateLoading(new File("templates"));
//创建数据模型
Map root = new HashMap();
root.put("mail", "[email protected]");
//加载模板文件
Template t1 = cfg.getTemplate("a.ftl");
//显示生成的数据,将合并后的数据打印到控制台
Writer out = new OutputStreamWriter(System.out);
t1.process(root, out);
out.flush();
out.close();
}
}
运行测试程序,在控制台中打印一下结果:
/lib/example.sourceforge.net/example.ftl或/lib/geocities.com/jsmith/example.ftl。
转载请注明出处:http://blog.csdn.net/acmman/article/details/79182189