freemarker的基本使用

  • FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成:

    文本:直接输出的部分
    注释:<#-- ... -->格式部分,不会输出
    插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出
    FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出

下面是一个FreeMarker模板的例子,包含了以上所说的4个部分:


    
        Welcome!
    
    
        <#-- 注释部分 -->
        <#-- 下面使用插值 -->
        

Welcome ${user} !

We have these animals:

<#-- 使用FTL指令 --> <#list animals as being>
  • ${being.name} for ${being.price} Euros
  • <#list>
    • c函数是将数字转换成字符串
     ${limit?c}
    freemarker中的c函数是将数字转换成字符串,当你在页面中要显示带小数的数字时,一定要写成${x?c}而不能写成${x?default('')},否则显示出的数字都变成了整数,小数位都被自动截掉了。切记!!
    
    • 日期格式
    ${lastUpdated?string("yyyy-MM-dd HH:mm:ss zzzz")}
    
    • 插值结果为布尔值:根据默认格式(由#setting指令设置)将表达式结果转换成文本输出.
    <#assign foo=true/>
    ${foo?string("yes", "no")}
    
    • if操作
     <#if (version.type==1)>正式
                                <#else>debug
                                
    
    • switch , case , default , break指令
    <#switch value>
        <#case refValue>...<#break>
        <#case refValue>...<#break>
        <#default>...
    
    
    • list指令
    <#list sequence as item>
        ...
    
    
    • 运算符的优先级
    FreeMarker中的运算符优先级如下(由高到低排列):
    
        一元运算符: !
        内建函数: ?
        乘除法: *, / , %
        加减法: - , +
        逻辑与: &&
        逻辑或: ||
        数字范围: ..
    
    
    • 比较运算符
      =或者==:判断两个值是否相等.
        !=:判断两个值是否不等.
        >或者gt:判断左边值是否大于右边值
        >=或者gte:判断左边值是否大于等于右边值
        \<或者lt:判断左边值是否小于右边值
        \<=或者lte:判断左边值是否小于等于右边值
    
    

    你可能感兴趣的:(freemarker的基本使用)