FreeMarker之FTL指令

Posted alexzhang92

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FreeMarker之FTL指令相关的知识,希望对你有一定的参考价值。

assign指令

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

(1)定义简单类型:

<#assign linkman="周先生">

联系人:${linkman}

(2)定义对象类型:

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

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

运行效果:

技术图片

include指令

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

创建模板文件head.ftl

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

 

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

<#include "head.ftl">

 

if指令

在模板文件上添加

<#if success=true>

  你已通过实名认证

<#else>  

  你未通过实名认证

</#if>

 

在代码中对str变量赋值

map.put("success", true);

 

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

 list指令

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

 技术图片

(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就可以得到。

以上是关于FreeMarker之FTL指令的主要内容,如果未能解决你的问题,请参考以下文章

freemarker$1.1?int 啥意思

Freemarker-标签使用

Freemarker 教程-模板开发手册

将代码freemarker执行成freemarker ftl

Freemarker自定义指令和方法

Freemarker自定义指令和方法