FreeMarker之FTL指令

时间:2023-03-10 06:09:32
FreeMarker之FTL指令

assign指令

此指令用于在页面上定义一个变量

(1)定义简单类型:

<#assign linkman="周先生">

联系人:${linkman}

(2)定义对象类型:

<#assign info={"mobile":"13301231212",'address':'北京市昌平区王府街'} >

电话:${info.mobile}  地址:${info.address}

运行效果:

FreeMarker之FTL指令

include指令

此指令用于模板文件的嵌套

创建模板文件head.ftl

<h1>百度信息网</h1>

我们修改test.ftl,在模板文件中使用include指令引入刚才我们建立的模板

<#include "head.ftl">

if指令

在模板文件上添加

<#if success=true>

  你已通过实名认证

<#else>  

  你未通过实名认证

</#if>

在代码中对str变量赋值

map.put("success", true);

在freemarker的判断中,可以使用= 也可以使用==

list指令

需求,实现商品价格表,如下图:

FreeMarker之FTL指令

(1)代码中对变量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);

map.put("goodsList", goodsList);

(2)在模板文件上添加

----商品价格表----<br>

<#list goodsList as goods>

  ${goods_index+1} 商品名称: ${goods.name} 价格:${goods.price}<br>

</#list>

如果想在循环中得到索引,使用循环变量+_index就可以得到。