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自定义指令