【freemarker】模板代码开发

简介

Java程序员偶尔使用freemarker在java代码中生成网页,用于后端生成文件。freemarker是一款模板引擎,基于模板(templete)和原始数据(original data),生成目标文本(target data)的通用工具。广义来讲freemarker能够生成任何形式的数据。

有问题查这里

原始数据

以下json数据作为freemarker初探章节的原始数据

{
    "name": "张三",
    "age": 30,
    "computer" : "{\"name\":\"戴尔\",\"cpu\":8,\"memory\":16}",
    "phone": [
        {
            "name": "小米",
            "buyTime": "2020"
        },
        {
            "name": "华为",
            "buyTime": "2022"
        }
    ]
}

freemarker初探

以下模板数据测试以原始数据章节json作为original data

1.注释
<#-- 自定义方法 -->
2.输出数据
${phone}
${name}
3.判断
<#if age == 30>
三十而立
<#else>
未知年龄
</#if>
4.循环
<#list phone as p>
${p}
</#list>
5.定义变量
<#-- 定义普通变量 -->
<#assign myAge = age>
${myAge}

<#-- 定义表达式变量 -->
<#assign phoneName>
<#-- 这里没有分行写是为了防止输出字符串里面有回车 -->
<#list phone as p>${p.name}<#sep>,</#list>
</#assign>
${phoneName}
6.定义方法
<#-- 自定义方法 -->
<#function selectPayChannel id>
  <#switch id>
    <#case "116500205">
	  <#-- 直接return替换break使用 -->
      <#return 'ALIPAY'>
    <#default>
      <#return 'CASH'>
  </#switch>
</#function>
<#-- 注意:这里的参数必须要是字符串 -->
${selectPayChannel("123")}
7.数字保留两位小数(四舍五入)
${0.666?string["0.##"]}
8.字符串转换为json格式
${computer?eval.name}

<#-- 注意:直接输出${computer?eval}会出现异常【but this has evaluated to an extended_hash (wrapper: f.c.HashLiteral$SequenceHash)】,因为computer通过eval后类型是对象,不能直接转换为字符串输出,可以搭配变量使用 -->
<#assign myComputer = computer?eval>
${myComputer.name}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Freemarker 是一种模板引擎,它允许开发人员使用模板语言来生成文本输出。它是一种非常流行的模板引擎,被广泛用于 Web 应用程序、邮件和 PDF 的生成等领域。下面是 Freemarker 模板引擎与其他工具的对比: 1. Freemarker vs JSP JSP 是 Java 服务器页面的缩写,它允许开发人员将 Java 代码嵌入到 HTML 页面中。与 JSP 不同,Freemarker 模板引擎使用一个独立的模板语言,这使得它更加灵活和易于维护。另外,Freemarker 可以与任何 Java 应用程序一起使用,而不需要一个专门的 Web 容器。 2. Freemarker vs Velocity Velocity 是一个开源的模板引擎,它与 Freemarker 类似,但它的语法更加简单。与 Velocity 不同,Freemarker 模板引擎提供了更多的功能和灵活性,包括模板继承、条件语句和循环语句等功能。此外,Freemarker 模板引擎还支持多个模板文件格式,包括 HTML、XML、JSON 和 CSV 等。 3. Freemarker vs Thymeleaf Thymeleaf 是一个现代化的服务器端 Java 模板引擎,它提供了更加直观的语法和更多的功能。与 Thymeleaf 不同,Freemarker 模板引擎使用一个简单而直观的模板语言,这使得它更容易学习和使用。另外,Freemarker 模板引擎还提供了更高的性能和更好的缓存机制。 总的来说,Freemarker 模板引擎是一个功能强大、灵活且易于使用的模板引擎,它可以与任何 Java 应用程序一起使用,并提供了多种模板文件格式支持。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值