freemarker基础语法
来源:互联网 发布:linux tomcat配置文件 编辑:程序博客网 时间:2024/06/15 03:59
freemarker常见语法大全
一、FreeMarker模板文件主要有4个部分组成
1、文本:直接输出的部分
2、注释:即<#--...-->格式不会输出
3、插值(Interpolation):即${..}或者#{..}格式的部分,将使用数据模型中的部分替代输出
4、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出。
插值规则:
1、通用插值:${expr}
2、数字格式化插值:#{expr}或者#{expr;format}
通用插值:
1.插值结果为字符串值:直接输出表达式结果
2.插值结果为数字值:根据默认格式(#setting 指令设置)将表达式结果转换成文本输出。可以使用内建的字符串函数格式
示例:
<#setting number_format = "currency" /> <#assign price = 42 /> ${price} ${price?string} ${price?string.number} ${price?string.currency} ${price?string.percent}
3.输出值为日期值:根据默认格式(由 #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};
4.插值结果为布尔值
示例:
<#assign foo=true />${foo?string("是foo","非foo")}
5. 数字格式化插值:数字格式化插值可采用#{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};
1、直接指定值
示例:
${'我的名字是\"yeek\"'};
${"我的文件保存在d:\\盘"};
${"我的文件保存在d:\\盘"};
2.日期型
FreeMarker支持date、time、datetime三种类型,这三种类型的值无法直接指定,通常需要借助字符串的date、time、datetime三个内建函数进行转换
示例:
<#assign test1 = "2009-01-22"?date("yyyy-MM-dd") />; <#assign test2 ="16:34:43"?time("HH:mm:ss") /> <#assign test2 = "2009-01-22 17:23:45"?datetime("yyyy-MM-dd HH:mm:ss") /> ${test1?string.full}
三、FreeMarker 的常用指令
1、if指令
示例:
<#if condition> .... <#elseif condition2> ... <#elseif condition3> ... <#else> ... </#if>
示例:
<#switch value> <#case refValue> ... <#bread> <#case refValue> ... <#bread> <#default> ... </#switch>
3.list、break指令
示例:
<#list sequence as item> ... </#list>
4.assign指令
它用于为该模板页面创建一个变量相当于java中声明一个变量
示例:
<#assign readonly =(HISTORY=="0") && (ACTIVITY=='start' || ACTIVITY == 'usertask1')>
阅读全文
0 0
- FreeMarker 基础语法教程
- Freemarker语法基础
- freemarker 语法基础
- FreeMarker基础语法教程
- FreeMarker的基础语法
- FreeMarker基础语法
- freemarker基础语法
- Freemarker语法基础(转)
- freemarker 语法基础(转)
- FreeMarker基础(五) FTL常见语法大全
- Freemarker的基本语法及入门基础
- Freemarker的基本语法及入门基础
- freemarker语法
- freemarker语法
- freemarker语法
- freemarker语法
- freemarker语法
- FreeMarker 语法
- 如何使用vs调试.net framework代码 (一)
- CocoaPods 详解之----更新篇
- 第7周【项目5 -排队看病模拟】
- python数据类型(一)
- nginx+node.js的简单使用
- freemarker基础语法
- nmon分析与详解
- linux shell 指令 诸如-d, -f, -e之类的判断表达式
- IDEA环境gradle项目目录结构介绍
- 第八周—项目1—建立顺序串的算法库
- 第977期机器学习日报(2017-05-22)
- Spring Boot建站教程-day01
- 第976期机器学习日报(2017-05-21)
- 关于mint ui的tabbar的上划线问题