哈希表内建函数
一.语法
哈希表中包含元素:keys键,values值
keys:一个包含哈希表中查找到的键的序列
因为哈希表通常没有定义子变量的顺序,那么键名称的返回顺序就是任意的。
然而,一些哈希表维持一个有意义的顺序(询问程序员指定的哈希表是否是这样)。
比如,由上述 {…} 语法创建的哈希表保存了和你指定子变量相同的顺序。
values:一个包含哈希表中子变量的序列
注意并不是所有的哈希表都支持这个 (询问程序员一个指定的哈希表是否允许这么操作)。
至于返回的值的顺序,和内建函数 keys 的应用是一样的;看看上面的叙述就行了
官方代码
<#assign h = {"name":"mouse", "price":50}>
<#assign keys = h?keys>
<#list keys as key>${key} = ${h[key]}; </#list>
输出
二.练习
<#assign maps={"1":"张三丰","2":"李思思","3":"张三强","4":"王五"}>
<#assign keys = maps?keys>
<#list keys as key>
${key} = ${maps[key]};
</#list>
<span style="color:green">取出第三个的值——${maps["3"]}</span>
输出
<#assign stu={"name":"zhangsan","age":"21","sex":"man"}>
<#assign keys = stu?keys>
<#list keys as key>
${key} = ${stu[key]};
</#list>
输出
<#assign opt={"1":"学习","2":"工作","3":"娱乐"}>
<#assign keys = opt?keys>
<#list keys as key>
${key} = ${opt[key]};
</#list>
当数据连接到数据库的时候:
1.获取数据库中列表信息
<#assign list = sqlt.sqlQueryForList("todo_list.getList")>
2.循环读取
<#assign opt={"1":"学习","2":"工作","3":"娱乐"}>
<#assign keys = opt?keys>
<#list keys as key>
${key} = ${opt[key]};
<option value="${opt[key]}" > ${opt[key]}</option>
</#list>
注意:value的值应该是hashmap中的值 value="${opt[key]}" ,不然之前我取出的都是key键不是里面的value
效果: