FreeMarker-哈希表内建函数 学习

哈希表内建函数

一.语法

哈希表中包含元素: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

在这里插入图片描述

效果:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FreeMarker 是一种模板语言,用于生成各种文本格式,如 HTML、XML、JSON 等。除了提供基本的语法和指令外,FreeMarker 还提供了许多内建函数,用于处理字符串、日期、数字等数据类型。下面是 FreeMarker 内建函数的参考。 ## 字符串函数 ### length 语法:`${s?length}` 返回字符串 s 的长度。 ### trim 语法:`${s?trim}` 去除字符串 s 开头和结尾的空格。 ### upper_case 语法:`${s?upper_case}` 将字符串 s 转换为大写字母。 ### lower_case 语法:`${s?lower_case}` 将字符串 s 转换为小写字母。 ### capitalize 语法:`${s?capitalize}` 将字符串 s 的首字母转换为大写字母。 ### replace 语法:`${s?replace("old","new")}` 用字符串 new 替换字符串 s 中所有的 old。 ## 数字函数 ### round 语法:`${n?round}` 返回数字 n 的四舍五入值。 ### floor 语法:`${n?floor}` 返回小于等于数字 n 的最大整数。 ### ceiling 语法:`${n?ceiling}` 返回大于等于数字 n 的最小整数。 ## 日期函数 ### date 语法:`${date?date}` 返回日期 date 的日期部分,格式为 yyyy-MM-dd。 ### time 语法:`${date?time}` 返回日期 date 的时间部分,格式为 HH:mm:ss。 ### iso_utc 语法:`${date?iso_utc}` 返回日期 date 的 ISO 8601 格式的字符串,带有时区偏移量。 ## 其他函数 ### exists 语法:`${v?exists}` 如果变量 v 存在,则返回 true,否则返回 false。 ### default 语法:`${v?default("default")}` 如果变量 v 存在,则返回其值,否则返回默认值 "default"。 ### size 语法:`${list?size}` 返回列表 list 的长度。 ### sort 语法:`${list?sort}` 对列表 list 进行排序,返回排序后的列表。 以上是 FreeMarker 内建函数的参考,可以根据实际需求选择使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值