Rhythmk 一步一步学 JAVA (10): Freemarker 学习 1 - 入门
2013-10-15 13:41
423 查看
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 指令是区分大小写的
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 (18): Enum枚举学习
- java入门学习(10)—抽象类
- Rhythmk 一步一步学 JAVA (15) mybatis 入门学习-1
- JavaSE入门学习10:Java修饰符
- JavaSE入门学习10:Java修饰符
- JavaWeb Spring开发入门深入学习
- 【Java学习笔记】10.继承、抽象类、接口
- Java学习从入门到精通
- Java基础学习第六天——二维数组与面向对象入门
- iMOOC学习笔记:Java的Excel读写操作入门实践-利用POI解析Excel文件(二)
- Python 学习入门(10)—— 时间
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<Oracle_基础>(三十三)
- Java注解学习-入门
- Java学习笔记_10_继承和多态(补充)
- 学习笔记-JAVA-考点10-什么情况下需要重写equals和hashcode()两个方法?
- Java入门之学习过程
- java入门学习(二)
- Java入门学习- 理解List和HashMap和HashTable的用法和区别
- Java入门123:一个老鸟的Java学习心得(二维码版)
- 【新技术,学习、商业均可】HTML5 全新高大尚后台 bootstrap springmvc mybatis java企业级通框架源码入门