FreeMarker的基础知识整理
1、Freemarker概念
Freemarker不是web开发的应用程序框架,它是适用于web应用程序框架中的组件。
FreeMarker引擎本身不知道HTTP协议或者Java Servlet的存在。所以它也可以用于非 web应用程序的开发环境
2、模板+数据模型 = 输出
*模板:
静态的HTML代码+FreeMarker指令元素
*数据模型:
来自java对象
*输出:
模板存放在web服务器上,当有人来访问这个页面时,FreeMarker将会动转换 模板,生成普通的HTML文本并发送结果到访问者的Web浏览器中去显示
3、变量:
1)哈希表变量:
可以访问子变量名称
*指定值:
{"name":"mouse","age":128},键的类型为字符串,如 "name","age"
*检索:
hash.name,hash.age
*连接:
使用+来连接两个哈希表,如果两个哈希表含有相同键的项,
那么+右侧的哈希表中的项优先
<#assign ages ={"joe":23,"fred":24}+{"joe":20,"julia":30}>
最后ages.joe=20
2)序列变量:
按顺序存储子变量,使用数字索引访问子变量
*指定值:
["foo","bar",123]
*检索:
seq[5]
*切分:
seq[firstindex..lastindex]
seq[10..19]表达式会是包含第11个至第20个元素的序列, lastindex可以省略,这样seq[10..]表示包含第11个至最后一个 元素的序列
3)标量:
仅存储单值的变量
*字符串:
*指定值:
"aaa"或者'aaa'
*检索:
获取一个字符name[0]
*连接:
"aaa"+"bbb"
*原生字符串:
一些特殊的符号没有特殊意义,前面加r,