1.算数运算
加法:+
减法:-
乘法:*
除法:/
求模(求余):%
eg:
${100 – 20}
${5/2}
${12%10}
注意:要保证两个操作数都是结果为数字的表达式。下面的这个例子在运行时,FreeMarker
就会发生错误
${10 * "5"} <#-- 这是错误的! -->
2.比较运算
测试两个值相等使用=(或者采用Java 和C 语言中的==,二者是完全等同的。)
测试两个值不等使用!=
eg:
<#if user = "yale">
love the way you lie
</#if>
<#if user != "yalee">
what are words
</#if>
对数字和日期类型的比较,也可以使用<,<=,>=和>。
使用>=和>的时候有一点小问题。FreeMarker 解释>的时候可以把它当作FTL 标签的结束符。为了避免这种问题,不得不将表达式放到括号内:<#if (x > y)>,或者可以在比较关系处用>和<:<#if x > y>。(通常在FLT 标签中不支持实体引用(比如&...;这些),否则就会抛出算数比较异常)。另外,可以使用lt 代替<,lte代替<=,gt 代替>,gte 代替>=, 由于历史遗留的原因,FTL 也支持\lt, \lte, \gt 和\gte,使用他们和使用不带反斜杠的效果一样。
3.逻辑操作
逻辑或:||
逻辑与:&&
逻辑非:!
分享到:
相关推荐
它在Java平台上广泛应用于Web开发,可以与Spring MVC等框架结合,用于生成视图层的...在阅读《FreeMarkerDemo》项目中的代码,你会更深入地理解这些概念,并可能发现更多关于FreeMarker操作字符串的技巧和最佳实践。
此外,还有算术操作符(+、-、*、/、%)、比较操作符(==、!=、<、>、、>=)和逻辑操作符(&&、||、!)。 6. **模板配置** 通过`freemarker.properties`配置文件,可以设置FreeMarker的行为,如缓存策略、日期时间...
在提供的代码片段中,`FreemarkerUtil`类封装了Freemarker的基本操作,包括模板的获取、数据模型的处理以及输出到流或文件。其中`getTemplate`方法负责模板的加载,而`print`和`fprint`方法分别用于输出到控制台和...
4. **函数和方法调用**:可以通过`.`操作符调用对象的方法,如`${myObject.myMethod()}` 5. **模板继承和导入**:`#macro` 定义宏,`#import` 导入宏库,`#extends` 继承父模板。 ### FreeMarker 与Java的交互 1...
`: 缺失值测试操作符。 **12. 模板注释** - `注释 -->` 不会被输出。 **13. 内置方法** - 序列、哈希和数字的内置方法。 - 示例: ```freemarker sequence?size hash?values ``` **14. 常见问题与解决方案*...
1. 创建Freemarker模板:编写一个FTL(Freemarker Template Language)文件,定义好你需要在Word文档中出现的静态内容和动态占位符。 2. 准备数据模型:创建一个Java对象,该对象的属性与FTL模板中的占位符相对应。...
这些对象可以在模板中通过点号`.`操作符访问属性。 3. **模板设计**:Freemarker支持条件语句、循环、包含其他模板等功能,使得模板设计灵活且易于维护。 4. **缓存机制**:Freemarker有内置的模板缓存,可以提高...
6. **安全机制**:FreeMarker有防止跨站脚本(XSS)攻击的安全特性,可以设置模板的安全模式,限制模板执行某些可能带来安全风险的操作。 7. **模板缓存**:为了提高性能,FreeMarker可以缓存编译后的模板,减少...
它有丰富的内置函数和操作符,对模板的处理效率高。 - **应用场景**:FreeMarker广泛应用于Spring MVC框架,以及邮件生成、报表生成等需要动态渲染模板的场合。 **两者的比较** - **语法**:Velocity的语法相对...
- ** Beans**:可以直接使用Java Bean对象,属性可以通过`.`操作符访问。 - **List和集合**:列表和集合可以通过`<#list>`标签进行迭代。 - **自定义数据类型**:可以扩展Freemarker,使其支持自定义的数据类型。...
string`操作符的使用,以及如何正确地在模板中处理`BooleanModel`对象。确保在模板中使用布尔值时,要么使用`?string`进行格式化,要么显式调用`toString()`方法,以避免`NonStringException`异常。
1. **创建FreeMarker模板**:在模板文件中定义PDF的结构,使用FreeMarker语法插入动态数据占位符。 2. **准备数据模型**:根据模板,构建一个包含所有必要数据的Java对象。 3. **配置FreeMarker**:设置FreeMarker的...
Freemarker支持常见的逻辑操作符,如`and`、`or`、`not`,以及比较操作符`==`、`!=`、`、`>`、`、`>=`。 ### 5. 模板继承 通过`<#import>`和`<#include>`指令,可以实现模板的复用和继承。`<#macro>`定义宏,允许...
1. **FreeMarker语法之表达式**: FreeMarker的表达式(${...}或#{...})用于在模板中插入数据模型中的值。例如,`${user.name}`会插入用户对象的name属性值。表达式可以包含变量、方法调用、算术运算、比较和逻辑...
someModifier}`: 转义、默认值、类型转换等操作符。 3. **Freemarker插件功能** - **代码提示和补全**: 插件可能提供自动完成模板语法的功能,帮助快速输入模板元素。 - **模板预览**: 可能有实时预览功能,无需...
该描述进一步明确了教程的实用性,鼓励读者跟随教程中的示例进行实际操作,以获得最佳的学习效果。同时,“绝不坑爹”的措辞传递出作者对教程质量的信心,并表达了希望读者能够在学习过程中感到愉快的愿望。 ### ...
Freemarker模板由纯文本组成,其中包含特定的控制结构,如`<#if>`、`<#foreach>`等,以及变量占位符`${variable}`。当模板被解析时,这些占位符会被提供的数据模型中的对应值替换。开发者可以创建一个Map或JavaBean...
本篇文章将深入探讨如何利用FreeMarker在Java环境中实现对Word文档的操作。 一、FreeMarker简介 FreeMarker是一个基于模板的语言,其主要目标是将数据模型与展示逻辑分离。在Java应用中,开发者通常会创建一个数据...
- **内置函数和操作符**:如`?upper_case`将字符串转为大写,`+`运算符用于连接字符串或数字相加。 4. **FreeMarker与Web框架的结合** - **Spring MVC**:Spring框架的MVC模块中,FreeMarker作为视图解析器,...
这些数据将根据FreeMarker模板中的占位符进行替换。 7. **生成Word文档**: 使用FreeMarker的`Template`对象和数据模型,生成新的XML文件。FreeMarker会遍历模板,遇到每个占位符`${}`,它都会查找相应的值并替换...