Freemarker常用语法全解析:插值、条件判断与内置函数
5星 · 超过95%的资源 需积分: 50 166 浏览量
更新于2024-09-09
1
收藏 20KB DOCX 举报
Freemarker (FTL) 是一种强大的模板语言,常用于服务器端网页动态内容生成,它允许程序员在Java应用程序中嵌入模板代码。本文档全面介绍了Freemarker中的常见语法,以便开发者更好地理解和运用这一工具。
1. **插值表达式**:
- **通用插值**:`${expr}`用于简单的变量赋值和输出,可以直接插入变量的值。
- **数字格式化插值**:`#{expr}` 或 `#{expr;format}` 可以对数字进行定制格式化,如日期格式化为`yyyy-MM-dd`,货币格式化 `$20.00`,百分比格式`20%`。
2. **条件语句**:
- `${book.name?if_exists}`:如果`book.name`存在,则显示该值;否则不输出。
- `${book.name?default('xxx')}`:如果`book.name`为空,则输出默认值`xxx`。
- `${book.name!"xxx"}`:同样用于默认值,如果`book.name`不存在或为空,则显示`xxx`。
- 通过`?string('yyyy-MM-dd')`格式化日期,`?string.number`、`?string.currency`和`?string.percent`处理数字格式。
3. **布尔值与比较运算符**:
- 使用`<#if(x>y)`进行条件判断,可以使用`lt`、`lte`、`gt`和`gte`进行大小比较,或者使用括号明确优先级。
- `?`符号区分函数调用和属性访问,例如`<#if condition>`用于逻辑判断。
4. **内置函数**:
- 对字符串的操作:如`html`进行HTML编码,`cap_first`首字母大写,`lower_case`全小写,`trim`去除前后空格。
- 对于Sequences(序列),如`size`获取元素数量。
- 对数字的处理:`int`取整,如`-1.9?int`返回-1。
- 集合操作:可以像数组一样通过下标索引访问。
5. **逻辑控制结构**:
- `if`, `<#elseif>`和`<#else>`语句用于条件分支,适用于多条件判断。
- `?`用于空值判断,如`<#if book.name??>`检查`book.name`是否为空。
- `switch`语句根据`value`执行多个`case`中的一个,`<#break>`跳出当前`case`,`<#default>`处理所有未匹配的情况。
6. **区间定义**:
- 快速创建一个包含整数范围的集合:`<#assign l=0..100/>`,这里的`..`表示从左到右的连续范围。
掌握这些Freemarker的常见语法,将有助于您在实际开发中高效地编写模板,实现动态内容的灵活生成,提高开发效率。无论是简单的变量展示还是复杂的逻辑处理,这些基础语法都是不可或缺的基石。
2018-10-31 上传
2012-03-29 上传
2013-07-08 上传
2011-12-15 上传
2012-05-23 上传
2023-06-09 上传
2011-04-14 上传
2019-04-02 上传
江南等风起
- 粉丝: 1
- 资源: 21
最新资源
- 探索AVL树算法:以Faculdade Senac Porto Alegre实践为例
- 小学语文教学新工具:创新黑板设计解析
- Minecraft服务器管理新插件ServerForms发布
- MATLAB基因网络模型代码实现及开源分享
- 全方位技术项目源码合集:***报名系统
- Phalcon框架实战案例分析
- MATLAB与Python结合实现短期电力负荷预测的DAT300项目解析
- 市场营销教学专用查询装置设计方案
- 随身WiFi高通210 MS8909设备的Root引导文件破解攻略
- 实现服务器端级联:modella与leveldb适配器的应用
- Oracle Linux安装必备依赖包清单与步骤
- Shyer项目:寻找喜欢的聊天伙伴
- MEAN堆栈入门项目: postings-app
- 在线WPS办公功能全接触及应用示例
- 新型带储订盒订书机设计文档
- VB多媒体教学演示系统源代码及技术项目资源大全