• Rhythmk 一步一步学 JAVA (10): Freemarker 学习 1


    FreeMarker 笔记:


    1、 注释:
       <#-- 注释内容 -#>


    2、<#if condition>
    content1
    <#else>
    content2
    <#if>
    条件可以表示:a==b , a!=b,a>b,a<b ,a<=b,||,&&,!等
    eg:
    <#if user.name=="rhythmk">
    A good boy!
    <#if>

    3、list 指令
    <#list dataItems as d >
    ${d.item1} ,${d.item2}
    <#list>

    4、include 指令:
    <#include "file路径" >
    eg:
    导入HTML页脚
    <#include "/_foot.html">

    5、空值处理
    5.1、${obj!"ReplaceString"}
    如果obj存在值则显示obj 不存在则用"ReplaceString"替换
    5.2、 <#if obj??> content <#if>
    如果obj为空 则隐藏整个语句块输出内容。

    6、${} 输出
    ${user} <#-- 用user作字符串 -->
    ${user.age} <#-- 用user座位哈希表 -->
    ${user.age/10+2} <#-- 可以在${}进行计算-->
    eg:
    user.name="abcd"
    ${user.name[1]} 输出结果为"b"

    7、转义符输出,在前面加 r
    eg:
    ${r"${rhythmk}"}
    输出
    ${rhythmk}

    如果:${"name,${name}"}
    name="rhythmk"
    输出:
    name,rhythmk



    8、序列输出
    <#list ["a","b","c"] as x>
    ${x}
    <#list>


    9、调用自定义方法
    ${doSomething(str)}

    10、 输出HTML编码内容。 escape 与 noescape 指令
    <#escape x as x?html>
    编码HTML内容
    <#noescape>无需编码HTML内容    http://www.cnblogs.com/rhythmK</#noescape>
    <#escape>

    11、宏的定义
    11.1、普通宏定义:
    <#macro greet> <font size="12">hello rhythmk!</font> </#macro>
    调用宏:
    <@greet></@greet>
    11.2 、带参数的宏
        <#macro greet name> The name is ${name}</#macro>
    调用:
    <@greet name="rhythmk" />
    11.3、将内容嵌套的宏定义,用 “<#nested>”表示替换的内容。
    <#macro span>
    <span>
    <#nested>
    </span>
    <#macro>

    12 、assign 变量创建
    <#assign x=10>
    ${x}
    <#assign x=x+10>
    ${x}
    输出:
    10 20


    13、生命周期:
    定义/lib/mytest.ftl 文件内容如下(可包含宏以及定义):
    <#assign Age=10>
    调用页面:
    先引入:
    <#import "/lib/mytest.ftl" as r>

    ${r.Age}
    输出:
    10

    http://www.cnblogs.com/rhythmK
    备注:freemarker 指令是区分大小写的

  • 相关阅读:
    git常用操作的总结
    Vue全局错误捕获
    Vue全局布局组件的设计
    Python 创建守护进程
    常用代码集合
    Linux -- 终端命令快捷键汇总
    MySQL -- 查询结果 直接导出至本地文件
    Linux -- 守护进程
    ConcurrentWebSocketSessionDecorator(并发安全的websocket) The remote endpoint was in state [TEXT_PARTIAL_WRITING]
    Ubuntu安装docker
  • 原文地址:https://www.cnblogs.com/rhythmK/p/3370092.html
Copyright © 2020-2023  润新知