`

FreeMark的语法,循环,逻辑

 
阅读更多
一个对象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>

 

分享到:
评论

相关推荐

    freeMark语法

    **FreeMarker语法详解** FreeMarker是一个开源的模板引擎,它被广泛用于Web应用开发中,尤其是在Java平台上。作为一款强大的动态网页生成工具,FreeMarker允许开发者将内容与表现层分离,使得网页设计更加灵活和可...

    freemark教程

    4. 循环语句:`&lt;#list&gt;` 用于遍历集合或数组,如`&lt;#list users as user&gt;`,`user`是循环变量。 5. 链接和URL:`&lt;@s.url value='...'&gt;` 用于生成URL,`&lt;@s.action&gt;` 生成Action链接,这通常与Struts2框架结合使用。 6...

    FreeMarker基础语法

    根据提供的文件信息,我们可以深入探讨FreeMarker的基础语法及其在模板引擎中的应用。FreeMarker是一种用于生成文本输出的模板引擎,广泛应用于Web开发中,能够帮助开发者动态生成HTML、XML等格式的内容。接下来,...

    freemark笔记、语法、讲解大全

    ### FreeMarker 笔记、语法、讲解大全 #### 一、FreeMarker 概述与基本概念 FreeMarker 是一个用 Java 编写的模板引擎,它基于模板来生成文本输出。这些模板可以用来生成任何格式的文件,如 HTML 页面、XML 文档、...

    freemarker语法.pdf

    通过以上介绍可以看出,FreeMarker提供了一套完整且强大的模板语言,不仅可以方便地输出各种数据类型的内容,还可以灵活地进行条件判断、循环迭代等操作,非常适合用于动态生成HTML页面或其他格式的文档。

    freemarker模板导出word循环图片表格源码和详细教程

    在本教程中,我们将探讨如何利用Freemarker模板来导出Word文档,并实现循环插入图片和表格的功能。这对于需要批量生成定制化报告或者文档的应用场景非常有用。 首先,我们需要了解Freemarker的基本语法。在...

    FreeMark Jar包 包括 中文 官方文档

    这份文档会详细介绍FreeMark的语法、配置、模板设计原则以及如何在实际项目中集成和使用FreeMark。 "lib" 文件夹可能包含了FreeMark的库文件,通常以JAR(Java Archive)格式存在。JAR文件是Java平台上的归档文件,...

    Freemark指南

    Freemark提供了丰富的指令和语法来控制模板的逻辑流程。 ##### 条件语句 - **`if`、`else`、`elseif`**:用于实现基本的条件分支。 - **语法**: ```html &lt;!-- 当条件为真时执行的内容 --&gt; &lt;!-- 当另一个...

    freemark 资料学习

    Freemarker的核心是模板语言,其基本语法包括变量表达式`${...}`、三元操作符`&lt;#if ...&gt;`、条件语句、循环结构等。例如,`${name}`会输出变量`name`的值。 2. 数据模型: Freemarker模板需要一个数据模型,通常由...

    freemark开发指南详解

    - **循环语句**:`&lt;#list&gt;` 进行列表遍历,`&lt;#foreach&gt;` 可以遍历数组或集合。 - **指令**:如 `include` 指令用于引入其他模板,`import` 导入变量或宏库。 3. **Freemarker与Java的集成** - **配置**:通过`...

    freemark模板&模版技术

    5. 高级控制结构:包括条件判断、循环、逻辑运算等,使得模板代码更加灵活。 四、实际应用 FreeMarker广泛应用于Java Web开发中,如Spring MVC框架就内置了对FreeMarker的支持。它常用于生成电子邮件、报表、XML...

    Java项目Freemark生成静态页面及语法

    Freemarker的语法相当丰富,包括条件语句(`&lt;#if&gt;`、`&lt;#else&gt;`、`&lt;#elseif&gt;`)、循环结构(`&lt;#foreach&gt;`)、包含其他模板(`&lt;#include&gt;`)等。例如,你可以用条件语句来改变页面显示: ```html &lt;p&gt;&lt;#if user?has_...

    test_Freemark freemark的基础入门小程序

    Freemarker提供了条件语句(如`&lt;#if&gt;`,`&lt;#else&gt;`)和循环(如`&lt;#foreach&gt;`)来控制模板的逻辑。这些结构允许根据数据的不同状态来改变输出。 4. **函数和方法**: Freemarker支持内置函数,如`length()`用于获取...

    freemark 自定义标签 总结

    - 循环处理:创建自定义标签处理循环,例如遍历分页数据。 9. **标签库** 自定义标签可以组织成标签库,这样可以更好地管理多个相关标签。Freemarker支持`Taglib`,可以像JSP的TLD一样定义标签库。 10. **与其他...

    freemark_java_test.rar_freeMark ja_freemark_java freemark

    3. **控制结构**:包括`&lt;#if&gt;`, `&lt;#else&gt;`, `&lt;#else_if&gt;` for 条件判断,`&lt;#for&gt;`进行循环,`&lt;#switch&gt;..&lt;#case&gt;..&lt;#default&gt;`实现多分支选择。 4. **指令**:FreeMarker的`&lt;#function&gt;`可以定义函数,`&lt;#assign&gt;`...

    freemark笔记

    模板中可以包含静态数据、简单表达式、控制结构(循环/条件语句)、宏等。它常用于动态网页生成场景。 #### 二、Freemarker 基础语法 **1. 变量赋值** - **语法**: `&lt;#assign name=value&gt;` - `name`: 要定义的...

    freemark学习资料(入门基础)

    if`、`&lt;#if&gt;`等语法来判断条件。例如: ``` 欢迎管理员! ``` 2. 循环:使用`&lt;#list&gt;`进行迭代。例如,遍历一个用户列表: ``` ${user.name} ``` 五、内置函数和指令 FreeMarker提供了许多内置函数...

    freemark使用的简单demo

    它与Java Servlet容器紧密结合,允许开发者将业务逻辑与视图层分离,实现MVC(Model-View-Controller)架构中的View部分。在本“freemarker使用的简单demo”中,我们将深入探讨如何设置和运行一个基础的Freemarker...

    freemark 2.3.19 中文教程

    如`&lt;#if&gt;`用于条件判断,`&lt;#foreach&gt;`用于循环。 3. **注释(Comments)**: 使用`&lt;!--#comment--&gt;`或`&lt;#-- comment --&gt;`进行注释,后者在HTML输出中不会显示。 4. **内置函数(Built-in Functions)**: 如`?html`...

    freemark与ibatis动态运用与说明,程序,源代码,文档

    学习Freemarker,你需要理解其基本语法,如 `${}` 用于插入变量,`&lt;#if&gt;`、`&lt;#else&gt;` 进行条件判断,以及 `&lt;#foreach&gt;` 进行循环等。 2. iBatis:iBatis是一个SQL映射框架,它允许开发者编写SQL语句并与Java代码...

Global site tag (gtag.js) - Google Analytics