栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【freemarker】模板代码开发

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【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>
未知年龄

4.循环
<#list phone as p>
${p}

5.定义变量
<#-- 定义普通变量 -->
<#assign myAge = age>
${myAge}

<#-- 定义表达式变量 -->
<#assign phoneName>
<#-- 这里没有分行写是为了防止输出字符串里面有回车 -->
<#list phone as p>${p.name}<#sep>,

${phoneName}
6.定义方法
<#-- 自定义方法 -->
<#function selectPayChannel id>
  <#switch id>
    <#case "116500205">
	  <#-- 直接return替换break使用 -->
      <#return 'ALIPAY'>
    <#default>
      <#return 'CASH'>
  

<#-- 注意:这里的参数必须要是字符串 -->
${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}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/936342.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号