freemarker常用内建函数介绍

内建函数语法格式:变量 + ? + 函数名称

  1. 字符串函数

    • html:对字符串进行HTML编码

      <p>${message?html}</p> <!-- 如果message包含HTML特殊字符,它们将被编码以防止XSS -->
      
    • cap_first:使字符串的第一个字母大写

      ${name?cap_first} <!-- 如果name是"john",输出将是"John" -->
      
    • length:返回字符串的长度

      ${text?length} <!-- 如果text是"Hello",输出将是5 -->
      
  2. 序列(Sequence)函数

    • size:返回序列中元素的数量

      <#list users as user>
        <p>${user.name}</p>
      </#list>
      <p>Total users: ${users?size}</p> <!-- 输出用户总数 -->
      
    • firstlast:返回序列的第一个和最后一个元素

      ${numbers?first} <!-- 假设numbers是[1, 2, 3, 4],输出将是1 -->
      ${numbers?last} <!-- 输出将是4 -->
      
  3. 数字函数

    • round:对数字进行四舍五入

      ${price?round(2)} <!-- 如果price是123.456,输出将是123.46 -->
      
    • ceiling:对数字进行向上取整

      ${number?ceiling} <!-- 如果number是7.2,输出将是8 -->
      
  4. Hash(Map)函数

    • keysvalues:返回Hash中的所有键和值

      <#list person?keys as key>
        <p>${key}: ${person[key]?html}</p>
      </#list>
      
    • ?has_content:检查Hash是否为空(即是否包含至少一个键值对)

      <#if person?? && person?has_content>
        <!-- person不是null且包含内容 -->
      </#if>
      
  5. 其他常用函数

    • ?default:为变量提供默认值

      ${maybeNull?default("default value")} <!-- 如果maybeNull是null或不存在,输出"default value" -->
      
    • ?exists:检查变量是否存在

      <#if variable??>
        <!-- variable存在 -->
      </#if>
      
    • ?is_string?is_number 等:检查变量是否为特定类型

      <#if someVar?is_string>
        <!-- someVar是字符串 -->
      </#if>
      
    • ?starts_with?ends_with:检查字符串是否以特定子串开始或结束

      <#if text?starts_with("pre")>
        <!-- text以"pre"开始 -->
      </#if>
      
    • ?contains:检查字符串是否包含特定子串

      <#if text?contains("sub")>
        <!-- text包含"sub" -->
      </#if>
      

请注意,上述示例中的变量(如messagenametextuserspricenumberpersonmaybeNullvariablesomeVartext)都需要在模板的数据模型中被定义和赋值。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值