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使用总结的主要内容,如果未能解决你的问题,请参考以下文章

FreeMarker技术总结(转载)

Freemarker使用总结

Freemarker数字格式化总结

spring MVC +freemarker + easyui 实现sql查询和执行小工具总结

Freemarker的常用技巧总结

python常用代码片段总结