指令要写到模板文件(.ftl)中
assign指令
assign指令用于在页面上定义一个变量
(1)定义简单类型
<#assign linkman="周先生">
联系人:${linkman}
(2)定义对象类型
<#assign info={"mobile":"13812345678",'address':'北京市昌平区'} >
电话:${info.mobile} 地址:${info.address}
内容会自动覆盖
include指令
nclude指令用于模板文件的嵌套
(1)创建模板文件head.ftl
<h1>嘿嘿嘿嘿/h1>
(2)修改入门案例中的test.ftl,在test.ftl模板文件中使用include指令引入上面的模板文件
<#include "head.ftl"/>
结果:
if指令
if指令用于判断
(1)在模板文件中使用if指令进行判断,得出输出是什么
- if有开始和结束,而else没有,在页面中想要看见上面,得看success这个值是什么
<#if success=true>
你已通过实名认证
<#else>
你未通过实名认证
</#if>
(2)在java代码中为success变量赋值
也就是在入门案例里面输入下面的这些数据
map.put("success", true);
在freemarker的判断中,可以使用= 也可以使用==
如果模板对象里面使用assign声明变量,java代码里面也声明代码的话:是以模板文件里面的为准备
实际项目开发中还是java代码使用的多
list指令
list指令用于遍历
(1)在模板文件中使用list指令进行遍历
goodslist是在java代码中准备的变量名,goods是拿出来的每一个元素,goods.name是与java代码中声明的key对应
<#list goodsList as goods>
商品名称: ${goods.name} 价格:${goods.price}<br>
</#list>
(2)在java代码中为goodsList赋值
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);
//这个是真正的goodList
map.put("goodsList", goodsList);