FreeMarker集合(List、Map)

我们上一节认识了FreeMarker基本数据类型,接口认识FreeMarker集合(List、Map)

序列(List)

定义序列

<#-- 定义序列 --> 
<#assign mynums=[11,12,13,14,15,16,17,18,19]/> 
<#list mynums as mn> 
    ${mn} 
</#list>
 

拆分序列

<#-- 拆分序列 --> 
<#-- 这里是将mynums序列中下标从3到6之间的元素拆分出来,组成一个新的序列 --> 
<#assign mynum01=mynums[3..6]/> 
<#list mynum01 as mn01> 
    ${mn01} 
</#list>
 

字符串的拆分  

${"你好,你来了吗今天看书了吗!"[0..8]}...
你好,你来了吗今天...
 

连续序列

<#-- 连续序列 --> 
<#-- 从55到58:注意此时若写成[55..58]或者[66..68]则会报错 --> 
<#assign num01=55..58/> 
<#list num01 as num> 
    ${num} 
</#list> 
<#list 66..68 as num> 
    ${num} 
</#list>
 

哈希表(Map)

定义哈希表

<#assign maps={"1":"张三","2":"李四"}>

${maps["1"]}

张三

<#--以下代码可以将map的key转换为相应的序列-->

<#assign keys=maps?keys>

<#list keys as key>

${key}---${maps[key]}

</#list>

1---张三

2---李四

<#assign users={"username":"张三","password":"123"}>

${users.username}---${users["password"]}

张三---123

注意:

   FreeMarker中的哈希表要求其key必须是字符串,包括数据模型中的java.util.HashMap的key也要是字符串,否则报错

   不能直接用list遍历map,需要先将map的key转换为相应的序列

本文链接:FreeMarker集合(List、Map),本文由huangyineng原创,转载请注明出处

下一节:FreeMarker自定义指令

相关推荐