注释

<#-- 注释内容 -->

<#-- 
注释也可以
多行内容 
-->

基本使用

<html>
Hello ${name} 或,#{name}
</html>

if判断

<#assign age = 10>

<#if age gt 10 >
    年龄大于10
    <#else>
    年龄大于等于10
</#if>

<#if condition>...
<#elseif condition2>...
<#elseif condition3>...
<#else>...
</#if>

lt代替<,lte代替<=,gt代替>,gte代替>=

switch

<#switch value> 
<#case refValue>...<#break> 
<#case refValue>...<#break> 
<#default>... 
</#switch>

判空

<#if name??>
……
</#if>

<#-- 如果name为空则显示空串 -->
${name!''}

<#-- 防止user和name为null -->
${(user.name)!''}

List操作

<#-- 遍历 -->
<#list userList as user>
    昵称:${user.nickname}
</#list>

<# 升序排序>
<#list list?sort as l>…

<# 对象属性排序>
<#list userList?sort_by("age") as user>

遍历Map

<#list map?keys as key>
    ${map[key]}
</#list>

注:map的key只支持String类型,不支持int long等。

assign 创建或替换一个顶层变量

<#assign name="Harlan">

I'm ${name}

<#assign info={"mobile":"xxxxxx","address":"china"} >

my mobile is ${info.mobile}, my address is ${info.address}

数字格式化

<#assign num=20.01>
<li>${num}</li>                 <#-- 20.01 -->
<li>${num?string.number}</li>   <#-- 20.01 -->
<li>${num?string.currency}</li> <#-- ¥20.01 -->
<li>${num?string.percent}</li>  <#-- 2,001% -->

include

<#include path>
  • path: 要包含文件的路径

macro 宏定义

基本用法

<#macro title>
    <h1>Hello World!</h1>
</#macro>

<@title/>

带参数定义

<#macro title name>
    <h1>Hello World! ${name}</h1>
</#macro>

<@title name="Harlan"/>

注意点

  1. 使用的参数一定要事先定义。
  2. 定义的参数在使用的时候一定要进行赋值,除非在创建macro的时候给参数默认值。
  3. 参数所能赋予的值不一定是字符串,也可以是其他类型,还可以是一个预运算表达式。
  4. 在使用的时候,对参数赋值顺序不确定,可随意。
  5. 参数是局部变量,只能在宏定义中有效。

命名空间(import)

/lib/test.ftl文件内容

#macro copyright date> 
    <p>Copyright (C) ${date} AutoCoding官网. 
    <br>Email: ${mail}
    </p> 
</#macro> 
<#assign mail = "harlansong@qq.com"> 

导入库并使用

<#import "/lib/test.ftl" as tpl>

<@tpl.copyright date="2000-2020"/>

setting

定义

<#setting name=value>
  • name 的取值范围如下:
  • locale:该选项指定该模板所用的国家/语言选项
  • number_format:指定格式化输出数字的格式
  • boolean_format:指定两个布尔值的语法格式,默认值是true,false
  • date_format,time_format,datetime_format:指定格式化输出日期的格式
  • time_zone:设置格式化输出日期时所使用的时区

示例

${1.2}
<#setting locale="en_US">
${1.2}

阿海爱编码
4 声望1 粉丝

编码洁癖者


引用和评论

0 条评论