(四)Freemarker 运算符
来源:互联网 发布:mysql int类型 编辑:程序博客网 时间:2024/04/30 03:21
Freemarker 提供了算术运算符, 逻辑运算符, 比较运算符, 空值处理运算符。
Freemarker 在进行运算时,你放入map 中的是什么类型, 就会解析成对应的类型。比如说:如果放入的是string 的 10 , 那么解析的时候 依然是string 类型的,而不是说是数值型。
1. 数字运算
+: ${a1} + ${a2} = ${a1 + a2}
-: ${a1} - ${a2} = ${a1 - a2}
*: ${a1} * ${a2} = ${a1 * a2}
/: ${a1} / ${a2} = ${a1 / a2}
%: ${a1} % ${a2} = ${a1 % a2}
2. 字符串运算:
+: ${s1 + "," + s2 }
3. 混合运算:
${s1 + "," + s2 + ":" + a1 + " + " + a2 + " = " + (a1 + a2) }
4. 字符串"10"的结果:${s3 + s3}
【2. 逻辑运算符】 只能用于布尔值,返回也是布尔值,不能直接输出,通常与if ,elseif 指令结合使用
1. 逻辑与 &&:
${(bt && bf)?string}
${(bt || bf)?string}
${(!bt)?string}
【3. 比较运算符】 只能比较数字和日期,不能比较字符串 ,返回为布尔类型不能直接输出
1. 运算符类型:
1. > (gt): 大于号,推荐使用gt
2. < (lt): 小于号,推荐使用lt
3. >= (gte): 大于等于, 推荐是用gte
4. <= (lte): 小于等于,推荐使用lte
5. == : 等于
6. != : 不等于
1. 数值型: ${a1}>${a2}? ${(a1 > a2)?string}
2. 日期型:
${today?date} > ${tomorrow?date}? ${(today?date > tomorrow?date)?string }
${today?time} > ${tomorrow?time}? ${(today?time > tomorrow?time)?string }
${today?datetime} > ${tomorrow?datetime}? ${(today?datetime > tomorrow?datetime)?string }
【4. 空值运算符】 Freemarker 变量必须赋值,否则会跑出异常。 对此,Freemarker提供了两种方式处理
1. ??: 判断是否为空,返回布尔类型,如果不为空返回true, 如果为空返回true,不能直接输出
zong == null? ${(zong??)?string}
1. 设置默认为空字符串:
zong = ${zong!}
2. 设置指定默认值
zong = ${zong!'hello'}
【输出结果】
Freemarker 在进行运算时,你放入map 中的是什么类型, 就会解析成对应的类型。比如说:如果放入的是string 的 10 , 那么解析的时候 依然是string 类型的,而不是说是数值型【1. 算术运算符】1. 数字运算+: 10 + 3 = 13-:10 - 3 = 7*:10 * 3 = 30/:10 / 3 = 3.333%:10 % 3 = 12. 字符串运算:+: hello,wold3. 混合运算:hello,wold:10 + 3 = 134. 字符串"10"的结果:1010【2. 逻辑运算符】 只能用于布尔值,返回也是布尔值,不能直接输出,通常与if ,elseif 指令结合使用1. 逻辑与 &&:false2. 逻辑或 ||:true3. 逻辑非 ! :false【3. 比较运算符】 只能比较数字和日期,不能比较字符串 ,返回为布尔类型不能直接输出1. 运算符类型:1. > (gt): 大于号,推荐使用gt2. < (lt): 小于号,推荐使用lt3. >= (gte): 大于等于, 推荐是用gte4. <= (lte): 小于等于,推荐使用lte5. == : 等于6. != : 不等于2. 运算符示例: >1. 数值型: 10>3? true2. 日期型:2016-4-4 > 2016-4-5? false17:00:23 > 17:00:23? false2016-4-4 17:00:23 > 2016-4-5 17:00:23? false【4. 空值运算符】1. Freemarker 变量必须赋值,否则会跑出异常。 对此,Freemarker提供了两种方式处理1. ??: 判断是否为空,返回布尔类型,如果不为空返回true, 如果为空返回true,不能直接输出zong == null? false2. !: 设置默认值,如果为空,则设置默认值zong = hellozong = ab
1 0
- (四)Freemarker 运算符
- (四)Freemarker 运算符
- Freemarker 运算符
- freemarker三目运算符
- FreeMarker设计指南(四)
- Freemarker学习归纳(四)
- Freemarker学习归纳(四)
- (四)freemarker程序开发
- 四、运算符(基本概念)
- freemarker自定义标签报错(四)
- freemarker写select组件(四)
- FreeMarker(四)流程控制语句
- 四、运算符(例1---赋值运算符)
- 四、运算符(例2)
- 面试指南 笔记(四) 运算符
- 面试指南 笔记(四) 运算符
- c#基础(四)----运算符
- MySQL基本操作(四):运算符
- 【MarkDown使用技巧】轻松搞定MarkDown
- 数据库系统实现-第3章 索引结构
- RK29机型之Android系统启动流程
- 实践kafka生产者消息
- [FAQ04299]如何在activity中控制屏幕点亮与关闭
- (四)Freemarker 运算符
- ojdbc14.jar 与 classes12.jar 的区别
- Objective-C学习笔记(三):OC之常用的OC语法下
- 玩转AI(Adobe illustrator)——小西瓜(1)
- MYSQL外键导致死锁
- 快捷键
- jsonpParameterNames不生效问题排查
- Bloom Filter 布隆过滤器
- POJ 1679 The Unique MST(次小生成树)