FTL(FreeMarker)基础
FreeMarker标签使用
一、FreeMarker模板文件主要有4个部分组成
1、文本,直接输出的部分
2、注释,即<#--...-->格式不会输出
3、插值(Interpolation):即${..}或者#{..}格式的部分,将使用数据模型中的部分替代输出
4、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出。
FTL指令规则
FreeMarker有三种FTL标签,这和HTML的标签是完全类似的
开始标签:<#directivename parameters>
结束标签:</#directivename>
空标签: <#directivename parameters />
实际上,使用标签时前面的#符号也可能变成@,如果该指令是一个用户指令而不是系统内建指令时,应将#符号改为@符号
插值规则
FreeMarker的插值有如下两种类型
1、通用插值:${expr}
2、数字格式化插值:#{expr}或者#{expr;format}
通用插值,有可以分为四种情况
a、插值结果为字符串值:直接输出表达式结果
b、插值结果为数字值:根据默认格式(#setting 指令设置)将表达式结果转换成文本输出。可以使用内建的字符串函数格式单个插值,例如
<#setting number_format = "currency" />
<#assign price = 42 />
${price}
${price?string}
${price?string.number}
${price?string.currency}
${price?string.percent}
c、输出值为日期值:根据默认格式(由 #setting 指令设置)将表达式结果转换成文本输出,可以使用内建的字符串函数格式化单个插值,例如
<#assign lastUpdated = "2009-01-07 15:05"?datetime("yyyy-MM-dd HH:mm") />
${lastUpdated?string("yyyy-MM-dd HH:mm:ss zzzz")};
${lastUpdated?string("EEE,MMM d,yy")};
${lastUpdated?string("EEEE,MMMM dd,yyyy,hh:mm:ss a '('zzz')'")};
${lastUpdated?string.short};
${lastUpdated?string.long};
${lastUpdated?String.full};
d、插值结果为布尔值
<#assign foo=true />
${foo?string("是foo","非foo")}
数字格式化插值
数字格式化插值可采用#{expr;format}的形式来格式化数字,其中format可以是:
mX:小数部分最小X位
MX:小数部分最大X位
例如:
<#assign x = 2.582 />
<#assign y =4 />
#{x;M2};
#{y;M2};
#{x;m1};
#{y;m1};
#{x;m1M2};
#{y:m1M2};
转载于:https://www.cnblogs.com/qcxdoit/p/9612725.html
FTL(FreeMarker)基础相关推荐
- 模板引擎Freemarker基础知识
Freemarker基础知识 Freemarker是什么 FreeMarker 基础指令 List指令 遍历Map数据 if指令 其它指令 运算符 空值处理 内建函数 入门Demo 要导入的依赖 配置 ...
- spring boot整合freemarker及freemarker基础语法超详细讲解
采用模板+数据=HTML 实现页面的静态化. 也就是服务端的页面静态化技术. JSP/Freemarker/Thymeleaf是常见的模板引擎. 引依赖 okhttp与HttpClient一样的作用, ...
- FreeMarker基础语法教程
根据网上自己做了测试和一点修改,测试代码还有测试的截图在最下面的部分贴出来了,方便大家参考和学习!不过文章中的关于测试的代码没有作修改,可以直接参考我的!!今天下载了一份freemarker的文档,才 ...
- FreeMarker 基础语法教程
根据网上自己做了测试和一点修改,测试代码还有测试的截图在最下面的部分贴出来了,方便大家参考和学习!不过文章中的关于测试的代码没有作修改,可以直接参考我的!!今天下载了一份freemarker的文档,才 ...
- Flying-Saucer使用HTML或者FTL(Freemarker模板)生成PDF
PDF导出工具有itext,但是itext对中文支持不好,还有样式CSS支持也不好,使用IReport比较复杂,上手不太容易,怎么办? 幸好有Flying-Saucer这个项目,帮助我们解决了以上问题 ...
- 使用HTML或者FTL(Freemarker模板)生成PDF 示例2
2. html2pdf 使用html或者ftl生产pdf 引入 pom.xml <dependency><groupId>com.itextpdf</groupId> ...
- freemarker ftl模板_Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker
今天来聊聊 Spring Boot 整合 Freemarker. Freemarker 简介 这是一个相当老牌的开源的免费的模版引擎.通过 Freemarker 模版,我们可以将数据渲染成 HTML ...
- freeMarker语法
MyEclipse10 中的两种FreeMarker插件的安装与配置 Freemarker学习笔记(全) freemarker比较大小1 freemarker比较大小2 Freemarker操作字符串 ...
- 如何将freemarker文件转化为html文件
最近在做静态的页面报表服务,将前端生成的ftl文件转化为html格式的文件,供后面合成pdf使用. freemarker基础可以参见:freemarker官方文档 前期准备:需要一个基础的ftl格式的 ...
最新文章
- 取得Repeater内部控件命令名与命令参数
- 收藏 | 卷积神经网络 C++ 从零开始实现
- dim private public static_static方法 (静态方法)
- BZOJ2494 Triangles and Quadrangle
- java句子中找单词_java程序找到一个句子中每个单词的字母数
- CUDA学习日志:常量内存和纹理内存
- 致命问题多数据源引发SpringBatch多事物
- linux i o的使用情况,Linux下使用iostat 监视I/O状态
- SAP Spartacus B2B Org Unit树状结构的ghost数据
- 简单调试 Python 程序
- Qt实现Linux下模拟点击界面,如何利用QT实现模拟鼠标点击?
- karto探秘之slam_karto
- 北京地铁5号线地图(线路图、站名、实拍pp)
- 主机托管与DRaaS的真正区别原来是这样 你猜对了吗?
- python中object类的源码在哪里-[Python之路] object类中的特殊方法
- html扩展名用于保存清单文件,html5 – HTML 5缓存清单是否也适用于ajax请求?
- 内部排序算法(Golang版本)
- 网络课大学计算机基础考试,《大学计算机基础》课程期末考试笔试说明
- 2D制图实战之仿QQ截图工具
- 图像处理一之-摄像头二值化处理-(什么是二值化)
热门文章
- JS-原型-原型链-值和引用类型
- 运动检测(前景检测)之(一)ViBe
- OpenCV3学习(11.8) FREAK描述符提取器
- Modularity(模块化-CommonJS规范)
- 1137.第N个泰波那契数
- c语言最短延时程序,linux下写个C语言程序,要求有0.5微秒以下的延时,要怎样写...
- html iframe 不限制大小_渗透技术再升级:如何利用HTML注入泄漏用户数据
- mysql 备份 索引_mysql-索引、导入、导出、备份、恢复
- 统计一个数字在排序数组中出现的次数
- apache禁止訪问某些文件或文件夹的方法