public class Test {
public static void main(String[] args) throws IOException, TemplateException {
//1.创建一个配置对象
Configuration configuration=new Configuration(Configuration.getVersion());
//2.设置模板的所在的目录
configuration.setDirectoryForTemplateLoading(new File("D:\\eclipsePinyougou\\freemarkerDemo\\src\\main\\resources"));
//3.设置字符集
configuration.setDefaultEncoding("utf-8");
//4.获取模板对象
Template template = configuration.getTemplate("test.ftl");
//5.创建数据模型(可以是对象,也可以是Map)
Map map=new HashMap();
map.put("name", "张三");//这里面的name要与test.ftl文件中的${}里面的字符对应
map.put("message", "1111111");//如果不设置test.ftl文件中的${}对应的值话会报错
map.put("success", false);
map.put("today", new Date());
map.put("long", 12345678);
List goodsList=new ArrayList();
Map goods1=new HashMap();
goods1.put("name", "苹果");
goods1.put("price", 5.8);
Map goods2=new HashMap();
goods2.put("name", "香蕉");
goods2.put("price", 2.5);
Map goods3=new HashMap();
goods3.put("name", "橘子");
goods3.put("price", 3.2);
goodsList.add(goods1);
goodsList.add(goods2);
goodsList.add(goods3);
map.put("goodsList", goodsList);
//6.创建一个输出流对象
Writer out=new FileWriter("d:\\test.html");//生成的静态页面放在哪里,文件名为
//7.输出
template.process(map, out);
//8.关闭out
out.close();
}
}
============================================================================
<html>
<head>
<title>demo</title>
<meta charset="utf-8">
</head>
<body>
<#include "head.ftl">
<#--注释-->
<#--显示数据模型中对应属性,如果数据模型中没有会报错-->
${name},你好。${message}<br>
<#--这里是定义变量,然后显示变量-->
<#assign linkman="蒋先生">
${linkman}<br>
<#--if指令-->
<#if success=true>
你已通过实名认证
<#else>
你未通过实名认证
</#if>
<br>
<#--遍历list-->
-----------商品列表----------<br>
<#list goodsList as goods>
${goods_index}商品名称:${goods.name}商品价格:${goods.price}<br>
</#list> <br>
一共${goodsList?size}条记录<br>
<#--JSON转换成对象-->
<#assign text="{'bank':'工商银行','account':'88888888'}">
<#assign data=text?eval>
开户行:${data.bank}账号:${data.account}<br>
当前日期:${today?date}<br>
当前时间:${today?time}<br>
当前日期+时间:${today?datetime}<br>
日期格式化${today?string('yyyy年MM月')}<br>
<#--将数字的分隔符去掉-->
积分是:${long?c}<br>
<#if aaa??>
aaa存在${aaa}
<#else>
aaa不存在
</#if>
<#--如果bbb不存在,就用后面的''里面的内容替代-->
${bbb!'bbb没有被赋值'}<br>
<#if (long>100)>
大于100
</#if><br>
</body>
</html>