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 指令是区分大小写的

Rhythmk 一步一步学 JAVA (10): Freemarker 学习 1 - 入门的更多相关文章

  1. 五分钟学Java:如何学习Java面试必考的网络编程

    原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 简介 Java作为一门后端语言,对于网络编程的支持是必不可少的,但是,作为一个经常CRUD的Java工程师,很多时候都不 ...

  2. 五分钟学Java:如何学习Java面试必考的JVM虚拟机

    原创声明 本文首发于微信公众号[程序员黄小斜] 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 为什么要学习JVM虚拟机 最近的你有没有参加Java面试呢?你有没有发现,Java ...

  3. Java SSH框架学习(入门)

    SSH就是 struts+spring+hibernate 的一个集成框架,是java中一种流行的JAVA WEB 应用程序开源框架.由于我最熟悉的还是ASP.NET的的MVC和Python的Djan ...

  4. 小白学Java:包装类

    目录 小白学Java:包装类 包装类的继承关系 创建包装类实例 自动装箱与拆箱 自动装箱 自动拆箱 包装类型的比较 "=="比较 equals比较 自动装箱与拆箱引发的弊端 自动装 ...

  5. 学java得这样学,学习确实也得这样

    引言 软件开发之路是充满荆棘与挑战之路,也是充满希望之路.Java学习也是如此,没有捷径可走.梦想像<天龙八部>中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的.每天仰天大叫& ...

  6. 一步一步学Silverlight 2系列(10):使用用户控件

    概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...

  7. 一步一步学ROP之linux_x64篇

    一步一步学ROP之linux_x64篇 一.序 **ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过现代操作系统的各种通用防 ...

  8. 一步一步学ZedBoard & Zynq(四):基于AXI Lite 总线的从设备IP设计

    本帖最后由 xinxincaijq 于 2013-1-9 10:27 编辑 一步一步学ZedBoard & Zynq(四):基于AXI Lite 总线的从设备IP设计 转自博客:http:// ...

  9. 一步一步学android控件(之十五) —— DegitalClock & AnalogClock

    原本计划DigitalClock和AnalogClock单独各一篇来写,但是想想,两个控件的作用都一样,就和在一起写一篇了. DegitalClock和AnalogClock控件主要用于显示当前时间信 ...

随机推荐

  1. Git使用总结(廖雪峰git)

    安装 $ sudo apt-get install git 配置 # 配置用户名和邮箱 $ git config --global user.name "Your Name" $ ...

  2. 最新博客开启 - Noogle's Blogs

    博客地址: http://noogel.xyz/ 戳我进入 Noogle's Blogs

  3. 考研系列 HDU2242之空调教室 tarjan

    众所周知,HDU的考研教室是没有空调的,于是就苦了不少不去图书馆的考研仔们.Lele也是其中一个.而某教室旁边又摆着两个未装上的空调,更是引起人们无限YY. 一个炎热的下午,Lele照例在教室睡觉的时 ...

  4. BZOJ4547 Hdu5171 小奇的集合 【矩阵快速幂优化递推】

    BZOJ4547 Hdu5171 小奇的集合 Description 有一个大小为n的可重集S,小奇每次操作可以加入一个数a+b(a,b均属于S),求k次操作后它可获得的S的和的最大值.(数据保证这个 ...

  5. 洛谷 P3802 小魔女帕琪

    传送门 题目大意:7个东西,每个有ai个,只有选7次 把7个东西都选到了才行. 题解:7!排列数*每次选择的概率 代码: #include<iostream> #include<cs ...

  6. BW处理链(Process Chain)

    处理链是能自动完成数据的处理和加载等操作的自动化工具.   1.创建处理链 输入T-code:RSPC打开操作界面,或者处理链已经在T-code:RSA1=>Modeling界面下,也可以直接单 ...

  7. parceljs 基本使用———又一个前端构建工具

    备注:      又一个新的前端构建工具 1. 安装 yarn global add parcel-bundler 2. 初始化项目 yarn init -y 3. 基本代码 a. 创建 index. ...

  8. spring深入内容

    https://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/index.html

  9. bzoj 1670 [Usaco2006 Oct]Building the Moat护城河的挖掘——凸包

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1670 用叉积判断.注意两端的平行于 y 轴的. #include<cstdio> ...

  10. 本地tomcat调用远程接口报错:java.lang.reflect.InvocationTargetException

    今天碰到一个奇怪的问题,本地Eclipse起了一个tomcat通过http去调一个外部接口,结果竟然报了一个反射的异常,先看下完整日志: , :: 下午 org.apache.catalina.sta ...