Freemarker技术全攻略:从入门到精通
需积分: 6 70 浏览量
更新于2024-07-28
1
收藏 590KB DOC 举报
"Freemaker_入门+深入+开发指南+学习笔记"
Freemarker是一个强大的模板引擎,常用于Java Web应用中的视图层渲染。它允许开发者将逻辑和展示分离,使得HTML页面的设计人员可以专注于页面布局,而开发人员则处理业务逻辑。以下是关于Freemarker的关键知识点:
1. 基本语法:Freemarker的所有内容都被包含在`<#>`标记内,外部的内容会被原样输出。`<@/>`用于调用函数。指令或函数名通常由第一个符号后跟随参数。
2. 控制结构:
- `<#if condition>...<#elseif condition>...<#else>...<#endif>`:条件判断,根据条件执行不同的代码块。
- `<#list hash_or_seq as var>`:遍历哈希表或集合(Freemarker称之为sequence)的每个元素,`var`代表当前元素的引用。
3. 宏与函数:
- `<#macro macro_name param1 param2>...<#nested param>...<#end>`:定义宏,`<#nested>`用于处理宏的嵌套。
- `<#function name param1 param2>...<#return val>...<#end>`:定义函数,可以有返回值。
4. 内置转换函数(Build-ins):
- `var?member_function()`:应用内置函数到变量`var`上,例如类型转换、字符串操作等。
5. 字符串操作:
- `stringA[M..N]`:截取子字符串,类似于Java的`substring()`方法。
6. 数据结构操作:
- `{key:value, key2:value2}`:直接定义一个哈希表。
- `[item0, item1, item2]`:直接创建一个序列。
- `hash0[key0]`:访问哈希表中键为`key0`的元素。
- `seq0[5]`:获取序列中索引为5的元素。
7. 函数调用:
- `<@function1 param0 param1/>`:调用名为`function1`的函数。
8. 宏调用与递归:
- `<@macro0 param0 param1; nest_param0 nest_param1>nest_body</@macro>`:调用宏并处理嵌套参数。
- `<#recurse xmlnode>`:在XML节点的子节点上递归调用宏。
9. 变量定义:
- `<#assign var=value>`:定义全局变量。
- `<#local var=value>`:在宏或函数内部定义局部变量。
- `<#global var=value>`:定义全局变量。
10. 输出表达式:
- `${var}`:输出变量`var`的值,Freemarker会将其替换为对应的表达式结果。
11. XML处理:
- `<#visit xmlnode>`:调用宏处理XML节点及其子节点。
- `<#recurse xmlnode>`:仅处理XML节点的子节点。
通过这些基础和高级特性,Freemarker允许开发者构建动态的、数据驱动的模板,实现了灵活的页面渲染。在学习过程中,深入理解这些概念并实践它们的应用,可以帮助开发者更好地掌握Freemarker,提升Web应用的开发效率。
350 浏览量
2013-07-04 上传
点击了解资源详情
105 浏览量
168 浏览量
点击了解资源详情
131 浏览量
点击了解资源详情
![](https://profile-avatar.csdnimg.cn/d0a8198c95a241398369305e0ad95899_zhuanbiandejijie.jpg!1)
zhuanbiandejijie
- 粉丝: 1
最新资源
- Linux网络基础:TCP/IP详解
- Oracle 8.1.7 SQL Reference: 全面指南与版权信息
- WebSphere Application Server V6.1配置指南
- 《Thinking in Java》:编程大师Bruce Eckel的权威指南
- Win32汇编入门:深入理解与实战教程
- 自定义源代码:解析SHP、CAD与栅格文件
- Apache Ant 中文手册:从入门到进阶
- Tomcat 5.5.20 安装与配置详解
- UML基础与实践指南
- Oracle for Windows安装全攻略
- Oracle 10g数据库安装与部署指南
- 掌握php.ini配置:中文注解详解
- MyEclipse 6 Java 开发中文教程指南
- HTML&CSS入门指南:遵循Web标准
- Oracle行表级多粒度锁机制详解
- LwIP协议栈:资源受限系统下的轻量化TCP/IP设计与实现