freemarker系列——常用语法(1)

2019-05-27  本文已影响0人  蜗牛君我们走

1、常用的对变量进行判断的方法
?? 判断左侧变量是否为null,或者这个变量是否未定义。如:
?has_content 与??类似,但是它同时可以对空字符串或空list、空map进行判断。
! 用来给变量一个默认值,对于要输出显示的字符串,可以在后面只加一个!,从而可以使得为null的字符串显示为空,而不会报错
?if_exists 是??的老写法,已不建议使用。
例:

<#if statusMap["modify_user_id"]?? && statusMap["modify_time"]??>
       最新版本由${(statusMap["modify_user_id"])!}修改于${(statusMap["modify_time"])!}
</#if>

2、list的长度

${list?size}

3、 list的遍历

<#list nodeModel.alternative_list as alternativeValue>
      <option value="${(alternativeValue)!}">${(alternativeValue)!}</option>
</#list>

4、 遍历MAP

 <#list map?keys as k>
    <option value="${k}">${map[k]}</option>
</#list>

5、list遍历中的下标序号

_index可取出当前元素的序号

<#list list as a>
     ${a_index}
</#list> 

6、取list中第i个元素的值

${list[i]}

嵌套时前面要有括号,如

 ${(str?split(","))[i]} 

7、list排序
升序: sort_by()
降序 .sort_by()?reverse

<#list list?sort_by("字段") as x>
</#list>

8.使用item_has_next进行判断

<#list alternative_list  as alternativeValue>
  <#if !alternativeValue_has_next>
      最后一个是:${alternativeValue.value}
  </#if>
</#list>
上一篇下一篇

猜你喜欢

热点阅读