FreeMarker使用总结
Posted 流子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FreeMarker使用总结相关的知识,希望对你有一定的参考价值。
一、FreeMarker 是什么?
FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(html网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像php那样成熟的编程语言。 那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于要展示什么数据。
二、使用步骤
1.引入库
implementation group: 'org.freemarker', name: 'freemarker', version: '2.3.31';
2.使用
1.数字格式化(金额格式化)
${num?string('0.00')}
如果小数点后不足两位,用 0 代替
${num?string('#.##')}
如果小数点后多余两位,就只保留两位,否则输出实际值
输出为:1239765.46
${num?string(',###.00')}
输出为:1,239,765.46
整数部分每三位用 , 分割,并且保证小数点后保留两位,不足用 0 代替
${num?string(',###.##')}
输出为:1,239,765.46
整数部分每三位用 , 分割,并且小数点后多余两位就只保留两位,不足两位就取实际位数,可以不不包含小数点
${num?string('000.00')}
输出为:012.70
整数部分如果不足三位(000),前面用0补齐,否则取实际的整数位
${num?string('###.00')}
等价于
${num?string('#.00')}
输出为:12.70
整数取实际的位数
2.时间字段格式化
时间:${(startTime?string("MM/dd HH:mm"))!}-${(endTime?string("MM/dd HH:mm"))!}
生成后就展现如下:
时间:06/09/ 10:18-06/09/ 10:18
3.千分位去除
${total?c}
4.如何使用枚举
OptionValueType.RADIO.value()
5.if else
<#if (winner?exists)>
[${winner.mainHero.name}](${winner.total?c})的部队正高举武器,欢庆胜利!
<#else>
双方均全军覆没!
</#if>
6.switch case
只能用字符串或者数字为值
7.基本运算
战斗结果:${(round.one.after-round.one.before)?c}
8.声明变量
<#assign name="张三"/>
9.比较大小
<#if (operation.one.loss>0)>
</#if>
综合使用
<#switch endType.name()>
<#case "BOT_END">
<#if (winner?exists)>
[${winner.mainHero.name}](${winner.total?c})的部队正高举武器,欢庆胜利!
<#else>
双方均全军覆没!
</#if>
<#break>
<#case "BOT_OUT_OF_ROUND">
由于一方撤退,两军不再交战!
<#break>
<#case "BOT_OUT_OF_HIDDEN">
由于一方隐藏,两军不再交战!
<#break>
<#default>
战斗结束!
</#switch>
总结
以上都是使用freemarker过程中的一些总结
以上是关于FreeMarker使用总结的主要内容,如果未能解决你的问题,请参考以下文章