我们上一节认识了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自定义指令