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)基础相关推荐

  1. 模板引擎Freemarker基础知识

    Freemarker基础知识 Freemarker是什么 FreeMarker 基础指令 List指令 遍历Map数据 if指令 其它指令 运算符 空值处理 内建函数 入门Demo 要导入的依赖 配置 ...

  2. spring boot整合freemarker及freemarker基础语法超详细讲解

    采用模板+数据=HTML 实现页面的静态化. 也就是服务端的页面静态化技术. JSP/Freemarker/Thymeleaf是常见的模板引擎. 引依赖 okhttp与HttpClient一样的作用, ...

  3. FreeMarker基础语法教程

    根据网上自己做了测试和一点修改,测试代码还有测试的截图在最下面的部分贴出来了,方便大家参考和学习!不过文章中的关于测试的代码没有作修改,可以直接参考我的!!今天下载了一份freemarker的文档,才 ...

  4. FreeMarker 基础语法教程

    根据网上自己做了测试和一点修改,测试代码还有测试的截图在最下面的部分贴出来了,方便大家参考和学习!不过文章中的关于测试的代码没有作修改,可以直接参考我的!!今天下载了一份freemarker的文档,才 ...

  5. Flying-Saucer使用HTML或者FTL(Freemarker模板)生成PDF

    PDF导出工具有itext,但是itext对中文支持不好,还有样式CSS支持也不好,使用IReport比较复杂,上手不太容易,怎么办? 幸好有Flying-Saucer这个项目,帮助我们解决了以上问题 ...

  6. 使用HTML或者FTL(Freemarker模板)生成PDF 示例2

    2. html2pdf 使用html或者ftl生产pdf 引入 pom.xml <dependency><groupId>com.itextpdf</groupId> ...

  7. freemarker ftl模板_Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker

    今天来聊聊 Spring Boot 整合 Freemarker. Freemarker 简介 这是一个相当老牌的开源的免费的模版引擎.通过 Freemarker 模版,我们可以将数据渲染成 HTML ...

  8. freeMarker语法

    MyEclipse10 中的两种FreeMarker插件的安装与配置 Freemarker学习笔记(全) freemarker比较大小1 freemarker比较大小2 Freemarker操作字符串 ...

  9. 如何将freemarker文件转化为html文件

    最近在做静态的页面报表服务,将前端生成的ftl文件转化为html格式的文件,供后面合成pdf使用. freemarker基础可以参见:freemarker官方文档 前期准备:需要一个基础的ftl格式的 ...

最新文章

  1. 取得Repeater内部控件命令名与命令参数
  2. 收藏 | 卷积神经网络 C++ 从零开始实现
  3. dim private public static_static方法 (静态方法)
  4. BZOJ2494 Triangles and Quadrangle
  5. java句子中找单词_java程序找到一个句子中每个单词的字母数
  6. CUDA学习日志:常量内存和纹理内存
  7. 致命问题多数据源引发SpringBatch多事物
  8. linux i o的使用情况,Linux下使用iostat 监视I/O状态
  9. SAP Spartacus B2B Org Unit树状结构的ghost数据
  10. 简单调试 Python 程序
  11. Qt实现Linux下模拟点击界面,如何利用QT实现模拟鼠标点击?
  12. karto探秘之slam_karto
  13. 北京地铁5号线地图(线路图、站名、实拍pp)
  14. 主机托管与DRaaS的真正区别原来是这样 你猜对了吗?
  15. python中object类的源码在哪里-[Python之路] object类中的特殊方法
  16. html扩展名用于保存清单文件,html5 – HTML 5缓存清单是否也适用于ajax请求?
  17. 内部排序算法(Golang版本)
  18. 网络课大学计算机基础考试,《大学计算机基础》课程期末考试笔试说明
  19. 2D制图实战之仿QQ截图工具
  20. 图像处理一之-摄像头二值化处理-(什么是二值化)

热门文章

  1. JS-原型-原型链-值和引用类型
  2. 运动检测(前景检测)之(一)ViBe
  3. OpenCV3学习(11.8) FREAK描述符提取器
  4. Modularity(模块化-CommonJS规范)
  5. 1137.第N个泰波那契数
  6. c语言最短延时程序,linux下写个C语言程序,要求有0.5微秒以下的延时,要怎样写...
  7. html iframe 不限制大小_渗透技术再升级:如何利用HTML注入泄漏用户数据
  8. mysql 备份 索引_mysql-索引、导入、导出、备份、恢复
  9. 统计一个数字在排序数组中出现的次数
  10. apache禁止訪问某些文件或文件夹的方法