FTL 语法

判断对象是否存在,若成立说明存在 <#if blockObjList ??></#if>

<#if blockObjList ??>  <#else>  </#if>

判断知否和某一个值相等(先判断是否存在,在判断相等,如果该指定的参数不存在还比较相等的话就回出错) <#if componentId ?? &&  componentId==1></#if>

list循环(循环遍历list并给遍历的对象取别名attribute以方便后面对象调用),if_exists在调用一个变量需要先判断是否为空不然为空时会出错,_index为取出行号索引从0开始,?size可以判断list大小  <#list lockObj.components              as  attribute>  ${attribute.contenturl?if_exists} ${attribute_index}  </#list>    {lockObj.components ?size}

ftl.map   
    <#list Map?keys as s>   
        ${Map[s]}   
    </#list>

变量与指定值相加减,需要先判断该变量是否为数字类型,?number 然后转换为数字类型再做相减运算(变量number与指定的2相减) ${blockWidth?number-2}

日期转换

时间格式化的方法代码 
        最好加上 判断下c时候存在   
       <#if c??>   
             ${c.addtime?string("yyyy-MM-dd HH:mm:ss")   
       </#if>

判断长度并截取代码 
      <#if c.titleH1??>   
          <#if c.titleH1?length lt 33>   
              ${c.titleH1}

Ftl变量转换代码 
      ?number转为数字   
      ?c转为字符串   
      ?string转为字符串   
      ?currency(货币)   
     ?percent(百分比)   
      trim 删除字符串首尾空格 ${“  String ”?trim} 结果为String   
      split使用指定的分隔符将一个字符串拆分为一组字符串   
     <#list “This|is|split”?split(“|”) as s>   
        ${s}   
     </#list>

${“strabg”?replace(“ab”,”in”)} 结果为string   
${“string”?contains(“ing”)?string} 结果为true   
注意:布尔值必须转换为字符串才能输出   
${“string”?index_of(“in”) 结果为3  
${“string”?index_of(“ab”) 结果为-1  
length返回字符串的长度 ${“string”?length}结果为6  
lower_case将字符串转为小写   
${“STRING”?lower_case}à结果为string   
upper_case将字符串转为大写   
${“string”?upper_case}à结果为STRING   
ends_with 判断某个字符串是否由某个子串结尾,返回布尔值。   
${“string”?ends_with(“ing”)?string} 返回结果为true   
注意:布尔值必须转换为字符串才能输出   
html 用于将字符串中的<、>、&和“替换为对应得&lt;&gt;&quot:&amp   
index_of(substring,start)在字符串中查找某个子串,返回找到子串的第一个字符的索引,如果没有找到子串,则返回-1。   
Start参数用于指定从字符串的那个索引处开始搜索,start为数字值。   
如果start大于字符串长度,则start取值等于字符串长度,如果start小于0, 则start取值为   
${‘str’?substring(0)}à结果为str   
${‘str’?substring(0,1)}à结果为s

2.cap_first 将字符串中的第一个单词的首字母变为大写。   
${‘str’?cap_first}à结果为Str

3.uncap_first将字符串中的第一个单词的首字母变为小写。   
${‘Str’?cap_first}à结果为str

4.capitalize将字符串中的所有单词的首字母变为大写   
${‘str’? capitalize}à结果为STR   
date,time,datetime将字符串转换为日期   
例如:   
<#assign date1=”2009-10-12”?date(“yyyy-MM-dd”)>   
<#assign date2=”9:28:20”?time(“HH:mm:ss”)>   
<#assign date3=” 2009-10-12 9:28:20”?time(“HH:mm:ss”)>   
${date1}à结果为2009-10-12  
${date2}à结果为9:28:20  
${date3}à结果为2009-10-12 9:28:20

?number转为数字 
?c转为字符串 
?string转为字符串 
?currency(货币) 
?percent(百分比) 
trim 删除字符串首尾空格 ${“  String ”?trim} 结果为String 
split使用指定的分隔符将一个字符串拆分为一组字符串 
<#list “This|is|split”?split(“|”) as s> 
${s} 
</#list> 
${“strabg”?replace(“ab”,”in”)} 结果为string 
${“string”?contains(“ing”)?string} 结果为true 
注意:布尔值必须转换为字符串才能输出 
${“string”?index_of(“in”) 结果为3 
${“string”?index_of(“ab”) 结果为-1 
length返回字符串的长度 ${“string”?length}结果为6 
lower_case将字符串转为小写 
${“STRING”?lower_case}à结果为string 
upper_case将字符串转为大写 
${“string”?upper_case}à结果为STRING 
ends_with 判断某个字符串是否由某个子串结尾,返回布尔值。 
${“string”?ends_with(“ing”)?string} 返回结果为true 
注意:布尔值必须转换为字符串才能输出 
html 用于将字符串中的<、>、&和“替换为对应得&lt;&gt;&quot:&amp 
index_of(substring,start)在字符串中查找某个子串,返回找到子串的第一个字符的索引,如果没有找到子串,则返回-1。 
Start参数用于指定从字符串的那个索引处开始搜索,start为数字值。 
如果start大于字符串长度,则start取值等于字符串长度,如果start小于0, 则start取值为 
${‘str’?substring(0)}à结果为str 
${‘str’?substring(0,1)}à结果为s

2.cap_first 将字符串中的第一个单词的首字母变为大写。 
${‘str’?cap_first}à结果为Str

3.uncap_first将字符串中的第一个单词的首字母变为小写。 
${‘Str’?cap_first}à结果为str

4.capitalize将字符串中的所有单词的首字母变为大写 
${‘str’? capitalize}à结果为STR

date,time,datetime将字符串转换为日期 
例如: 
<#assign date1=”2009-10-12”?date(“yyyy-MM-dd”)> 
<#assign date2=”9:28:20”?time(“HH:mm:ss”)> 
<#assign date3=” 2009-10-12 9:28:20”?time(“HH:mm:ss”)> 
${date1}à结果为2009-10-12 
${date2}à结果为9:28:20 
${date3}à结果为2009-10-12 9:28:20

宏定义hash内置函数代码 
Hash的内置函数   
1.hash?keys 返回hash里的所有key,返回结果为sequence

2.hash?values 返回hash里的所有value,返回结果为sequence   
例如:   
<#assign user={“name”:“hailang”, “sex”:“man”}>   
<#assign keys=user?keys>   
<#list keys as key>   
${key}=${user[key]}   
</#list>

Hash的内置函数 
1. hash?keys 返回hash里的所有key,返回结果为sequence

2.hash?values 返回hash里的所有value,返回结果为sequence 
例如: 
<#assign user={“name”:“hailang”, “sex”:“man”}> 
<#assign keys=user?keys> 
<#list keys as key> 
${key}=${user[key]} 
</#list>

时间: 2024-11-08 22:18:00

FTL 语法的相关文章

myeclipse2014中如何安装freeMarker插件(支持ftl语法高亮)

MyEcplise2014安装Freemarker插件(支持.ftl文件) 1.下载插件:http://sourceforge.net/projects/freemarker-ide/?source=typ_redirect 2.下载freemarker-2.3.19.jar:http://download.csdn.net/download/huashipengwei/5127726 3.将解压后的hudson.freemarker_ide_0.9.14文件夹拷贝到\MyEclipse 201

FreeMarker 语法教程

FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:<#-- ... -->格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4,FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出 下面是一个FreeMarker模板的例子,包含了以上所说的4个部分 <html><br> <head&

Freemarker 常见语法大全

FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format} ------插值格式化(通用.数字.日期)${book.name?if_exists } //用于判断如果存在,就输出这个值 ${book.name?default(‘xxx’)}//默认值xxx ${book.name!"xxx"}//默认值xxx ${book.date?string('yyyy-MM-dd')} //日期格式 ${book?str

freemark 语法与示例

1.if,else, elseif 语法: <#ifcondition> ... <#elseifcondition2> ... <#elseifcondition3> ... ... <#else> ... </#if> 备注:condition.condition2···必须为boolean 类型,<#elseif··>.<#else>可有0或多个. 实例: <#if x == 1> x is 1 <

Freemark基本语法知识(转)

FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:<#-- ... -->格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4,FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出 下面是一个FreeMarker模板的例子,包含了以上所说的4个部分 <html><br> <head&

FreeMarker常用语法

转自:http://www.cnblogs.com/linjiqin/p/3388298.html FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format} ${book.name?if_exists } //用于判断如果存在,就输出这个值 ${book.name?default(‘xxx’)}//默认值xxx ${book.name!"xxx"}//默认值xxx ${book.date?string('yy

FreeMarker的模板文件语法

FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:<#-- ... -->格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4,FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出 下面是一个FreeMarker模板的例子,包含了以上所说的4个部分 <html><br> <head&

freemarker常见语法大全

FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format} ${book.name?if_exists } //用于判断如果存在,就输出这个值 ${book.name?default('xxx')}//默认值xxx ${book.name!"xxx"}//默认值xxx ${book.date?string('yyyy-MM-dd')} //日期格式 ${book?string.number} 20 //三种不同

freemaker的使用,记下以后看

以下内容全部是网上收集: FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成:1,文本:直接输出的部分2,注释:<#-- ... -->格式部分,不会输出3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出4,FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出 下面是一个FreeMarker模板的例子,包含了以上所说的4个部分<html><br>&l