freemark 用法整理

本文详细介绍了Freemarker模板引擎的高级用法,包括格式化时间、循环操作、条件判断、数值转换、Map操作、列表判断以及宏定义等核心功能。通过实例展示了如何在实际开发中灵活运用这些特性,提升开发效率。

1 格式化时间

string(格式)明确指定格式,代替预定义格式。格式使用java日期格式语法例如:
    ${time?string"yyyy-MM-dd HH:mm:ss zzzz")}

2 list循环:循环后台list,若要循环整数,如:0 1..59 ,则将users改为0..59

<#list users as m>

</#list>

3 if判断 user是否存在

<#if user??>
    //存在
<#else>
    //不存在
</#if>

4 将字符串改为数字
将字符串 “3”转为数字,不然比较会报错

<#if 1 == "3"?number>

</#if>

5 map创建与遍历

<#--创建一个map,注意在freemarker中,map的key只能是字符串来作为key-->
<#assign userMap={"0","刘德华","2":"张学友"}/>
<#--获取map中的值-->
${userMap["1"]}

<#--获取map的keys-->
<#assign  keys=userMap?keys/>
<#--遍历map 首选获取key的集合-->
<#list keys as key>
  key:${key}-value:${userMap["${key}"]}
</#list>

<#--直接遍历map的第二种方式-->
<#list userMap?keys as key>
  key:${key}--value:${userMap["${key}"]}
</#list>

<#--直接遍历map的values-->
<#list userMap?values as value>
 ${value}
</#list>

6 list判断是否包含某个元素
valueStr = “a,b,c”;

<# assign valueStr?split(",")/>
<#if valueStr?seq_contains("a")>
包含a
</#if>

7
<#macro test value="" include=[]>
    <#if include?seq_contains(value)>
        <#nested>
    <#else>
        不显示
    </#if>  
</#macro>

//使用                
<@test value="aa" include=["cc","bb"]>
    <li class="">
        测试
    </li>
</@test>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值