一个对象BOOK 1.输出 ${book.name} 空值判断:${book.name?if_exists }或空值判断可以写成<#if book.name?? > ${book.name?default(‘xxx’)}//默认值xxx 日期格式:${book.date?string('yyyy-MM-dd')} 数字格式:${book?string.number}--20 插入布尔值: <#assign foo=ture /> ${foo?string("yes","no")} <#-- yes --> 2.逻辑判断 <#if condition>... <#elseif condition> ... <#else> ... <#if/> <#switch value> <#case refValue1> 3. Sequence内置的计数器: xxx_index 用途:显示序号 模板: <#list employees as e> ${e_index}. ${e.name} </#list> 4、FreeMarker的list List使用样例-List元素为Scalar对象: <#list scalarList as value0> Scalar List值:${value0} </#list> List使用样例-List元素为User对象: <#list userList as listUser> List对象User Id值:${listUser.userId} </#list> 5、freeMarker的Map <#list scalarMap?keys as mykey> Scalar Map key is :${mykey} Scalar Map value is:${scalarMap[mykey]} </#list> <#list userMap?keys as key1> <#assign mapUser="${userMap[key1]}" > User Object is :${mapUser} <#-- 以下方法有问题 User is :${mapUser.userId} <br> --> </#list> 6、FreeMarker中list排序 升序: <#list list?sort_by("time") as v> </#list> 降序: <#list list?sort_by("time") as v> </#list> ... <#break> <#case refValue2> ... <#break> ... <#case refValueN> ... <#break> <#default> ... </#switch>
相关推荐
**FreeMarker语法详解** FreeMarker是一个开源的模板引擎,它被广泛用于Web应用开发中,尤其是在Java平台上。作为一款强大的动态网页生成工具,FreeMarker允许开发者将内容与表现层分离,使得网页设计更加灵活和可...
4. 循环语句:`<#list>` 用于遍历集合或数组,如`<#list users as user>`,`user`是循环变量。 5. 链接和URL:`<@s.url value='...'>` 用于生成URL,`<@s.action>` 生成Action链接,这通常与Struts2框架结合使用。 6...
根据提供的文件信息,我们可以深入探讨FreeMarker的基础语法及其在模板引擎中的应用。FreeMarker是一种用于生成文本输出的模板引擎,广泛应用于Web开发中,能够帮助开发者动态生成HTML、XML等格式的内容。接下来,...
### FreeMarker 笔记、语法、讲解大全 #### 一、FreeMarker 概述与基本概念 FreeMarker 是一个用 Java 编写的模板引擎,它基于模板来生成文本输出。这些模板可以用来生成任何格式的文件,如 HTML 页面、XML 文档、...
通过以上介绍可以看出,FreeMarker提供了一套完整且强大的模板语言,不仅可以方便地输出各种数据类型的内容,还可以灵活地进行条件判断、循环迭代等操作,非常适合用于动态生成HTML页面或其他格式的文档。
在本教程中,我们将探讨如何利用Freemarker模板来导出Word文档,并实现循环插入图片和表格的功能。这对于需要批量生成定制化报告或者文档的应用场景非常有用。 首先,我们需要了解Freemarker的基本语法。在...
这份文档会详细介绍FreeMark的语法、配置、模板设计原则以及如何在实际项目中集成和使用FreeMark。 "lib" 文件夹可能包含了FreeMark的库文件,通常以JAR(Java Archive)格式存在。JAR文件是Java平台上的归档文件,...
Freemark提供了丰富的指令和语法来控制模板的逻辑流程。 ##### 条件语句 - **`if`、`else`、`elseif`**:用于实现基本的条件分支。 - **语法**: ```html <!-- 当条件为真时执行的内容 --> <!-- 当另一个...
Freemarker的核心是模板语言,其基本语法包括变量表达式`${...}`、三元操作符`<#if ...>`、条件语句、循环结构等。例如,`${name}`会输出变量`name`的值。 2. 数据模型: Freemarker模板需要一个数据模型,通常由...
- **循环语句**:`<#list>` 进行列表遍历,`<#foreach>` 可以遍历数组或集合。 - **指令**:如 `include` 指令用于引入其他模板,`import` 导入变量或宏库。 3. **Freemarker与Java的集成** - **配置**:通过`...
5. 高级控制结构:包括条件判断、循环、逻辑运算等,使得模板代码更加灵活。 四、实际应用 FreeMarker广泛应用于Java Web开发中,如Spring MVC框架就内置了对FreeMarker的支持。它常用于生成电子邮件、报表、XML...
Freemarker的语法相当丰富,包括条件语句(`<#if>`、`<#else>`、`<#elseif>`)、循环结构(`<#foreach>`)、包含其他模板(`<#include>`)等。例如,你可以用条件语句来改变页面显示: ```html <p><#if user?has_...
Freemarker提供了条件语句(如`<#if>`,`<#else>`)和循环(如`<#foreach>`)来控制模板的逻辑。这些结构允许根据数据的不同状态来改变输出。 4. **函数和方法**: Freemarker支持内置函数,如`length()`用于获取...
- 循环处理:创建自定义标签处理循环,例如遍历分页数据。 9. **标签库** 自定义标签可以组织成标签库,这样可以更好地管理多个相关标签。Freemarker支持`Taglib`,可以像JSP的TLD一样定义标签库。 10. **与其他...
3. **控制结构**:包括`<#if>`, `<#else>`, `<#else_if>` for 条件判断,`<#for>`进行循环,`<#switch>..<#case>..<#default>`实现多分支选择。 4. **指令**:FreeMarker的`<#function>`可以定义函数,`<#assign>`...
模板中可以包含静态数据、简单表达式、控制结构(循环/条件语句)、宏等。它常用于动态网页生成场景。 #### 二、Freemarker 基础语法 **1. 变量赋值** - **语法**: `<#assign name=value>` - `name`: 要定义的...
if`、`<#if>`等语法来判断条件。例如: ``` 欢迎管理员! ``` 2. 循环:使用`<#list>`进行迭代。例如,遍历一个用户列表: ``` ${user.name} ``` 五、内置函数和指令 FreeMarker提供了许多内置函数...
它与Java Servlet容器紧密结合,允许开发者将业务逻辑与视图层分离,实现MVC(Model-View-Controller)架构中的View部分。在本“freemarker使用的简单demo”中,我们将深入探讨如何设置和运行一个基础的Freemarker...
如`<#if>`用于条件判断,`<#foreach>`用于循环。 3. **注释(Comments)**: 使用`<!--#comment-->`或`<#-- comment -->`进行注释,后者在HTML输出中不会显示。 4. **内置函数(Built-in Functions)**: 如`?html`...
学习Freemarker,你需要理解其基本语法,如 `${}` 用于插入变量,`<#if>`、`<#else>` 进行条件判断,以及 `<#foreach>` 进行循环等。 2. iBatis:iBatis是一个SQL映射框架,它允许开发者编写SQL语句并与Java代码...