美文网首页
Freemarker基础语法

Freemarker基础语法

作者: 七七灬 | 来源:发表于2018-11-14 11:16 被阅读0次

    取值:

    ${student} ${student.id}

    #{student} #{student.id}


    直接输出字符串

    ${"hello freemarker"}

    #{"hello freemarker"}


    if 判断

    <#if student.id == 0>

    <h1>0</h1>

    <#else if student.id == 1>

    <h3>1</h1>

    <#else>

    error

    </#if>


    比较运算符

    =或者==: 判断两个值是否相等.

    !=: 判断两个值是否不等.

    >或者gt: 判断左边值是否大于右边值

    >=或者gte: 判断左边值是否大于等于右边值

    <或者lt: 判断左边值是否小于右边值

    <=或者lte: 判断左边值是否小于等于右边值

    &&: 逻辑与

    ||: 逻辑或

    注意: =和!=可以用于字符串,数值和日期来比较是否相等,但=和!=两边必须是相同类型的值,否则会产生错误

    FreeMarker 区分大小写 "x"=="X"  false


    List 集合数组

    <#list arrays as item>

    ${item_index} # 取索引下标

    ${item.id} # 取值

    </#list>

    # 也可以使用<#break>指令跳出迭代


    Map 集合字典 (key必须为字符串)

    <#if map??>

        <#list map?keys as key>

            key:${key!}

            value:${map[key]!}

            <#-- 如果value是个对象 ${map[key].id!}-->

        </#list>

    </#if>


    日期类型转换

    ${date?date} # 解析日期

    ${date?time} # 解析时间

    ${date?datetime} # 解析日期+时间

    自定义格式

    ${date?string('yyyy/MM/dd HH:mm:ss')}


    null值的处理

    !: 指定缺失变量的默认值

    ??: 判断某个变量是否存在

    ${val!} #为null输出空白

    ${val!"默认值"} #指定默认值


    用if判断null值

    <#if val??>

    <h1>有值</h1>

    <#else>

    <h3>val为null</h1>

    </#if>


    include引入外部文件

    <#include "head/hearder.ftl">


    import 引入外部文件

    将引入的文件,放到一个变量中 可以配合macro指令使用

    <#import "head/hearder.ftl" as head>


    assign 声明,赋值

    <#assign name = "郭金鹏">

    <#assign str = "Hello ${user}!">


    算数运算

    <#assign x=5>

    ${ x * x - 100 } # -75 

    ${ x / 2 } # 2.5

    ${ 12 % 10 } # 2


    int 对余数取整

    <#assign x=5>

    ${ (x/2)?int } # 2

    ${ 1.1?int } # 1

    内建函数

    <#assign str="<h1>hello freemarker</h1>">

    ${str ? html} #返回html标签 而不是"<h1>hello freemarker</h1>"字符串

    ${str ? html ? upper_case} #返回标签的内容全大写

    html: 对字符串进行HTML编码

    cap_first: 使字符串第一个字母大写

    lower_case: 将字符串转换成小写

    upper_case: 将字符串转换成大写

    trim: 去掉字符串前后的空白字符

    size: 获取序列中元素的个数

    int: 对余数取整 结果带符号


    macro , nested , return指令

    <#macro book>  //定义一个自定义指令

    j2ee

    </#macro>

    <@book />    //使用刚才定义的指令

    上面的代码输出结果为:    j2ee

    <#macro book booklist>    //定义一个自定义指令booklist是参数

    <#list booklist as book>

      ${book}

    </#list>

    </#macro>

    <@book booklist=["spring","j2ee"] />  //使用刚刚定义的指令

    上面的代码为book指令传入了一个参数值,上面的代码的输出结果为:spring j2ee

    相关文章

      网友评论

          本文标题:Freemarker基础语法

          本文链接:https://www.haomeiwen.com/subject/vyvdfqtx.html