zoukankan      html  css  js  c++  java
  • 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 指令是区分大小写的

  • 相关阅读:
    使用手机对Tomcat发布的web应用进行测试
    JavaScript HTML DOM 事件
    JavaScript HTML DOM
    初学JavaScript
    Myeclipse中Servlet的创建
    RequestDispatcher.forward() 方法和HttpServletResponse.sendRedirect()方法的区别
    获取当前系统的时间转化成Long型
    JS实现时间格式化
    用小技巧来优化大数据量的网页
    文字超长自动省略,以...代替,CSS实现
  • 原文地址:https://www.cnblogs.com/rhythmK/p/3370092.html
Copyright © 2011-2022 走看看