程序
package freemaker;
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 class TestIf {
private Configuration cfg;
public Configuration getCfg() {
return cfg;
}
public void init() throws Exception {
cfg = new Configuration();
cfg.setDirectoryForTemplateLoading(new File("bin/freemaker"));
}
public static void main(String[] args) throws Exception {
TestIf obj = new TestIf();
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);
Template t = obj.getCfg().getTemplate("TestIf.ftl");
Writer out = new OutputStreamWriter(new FileOutputStream("TestIf.html"), "GBK");
t.process(root, out);
System.out.println("Successfull................");
}
}
模板
<html>
<head>
<title>Welcome!</title>
</head>
<body>
<h1>
Welcome ${user}<#if user == "java2000.net">, our beloved leader<#else>my friend</#if>!
</h1>
<p>Our latest product:
<a href="${latestProduct.url}">${latestProduct.name}</a>!
</body>
</html>
输出结果
<html>
<head>
<title>Welcome!</title>
</head>
<body>
<h1>
Welcome java2000.net, our beloved leader!
</h1>
<p>Our latest product:
<a href="http://www.java2000.net">Java世纪网</a>!
</body>
</html>
结果分析:
<#if
语句通过后面的测试条件,如果为true,则显示
如果不等于,则进入<#else>部分显示,
以</#if>结束。