在FreeMarker模板中可以包括下面三种特定部分:
${…}:称为interpolations,FreeMarker会在输出时用实际值进行替代
FTL标记:类似于HTML标记,为了与HTML标记区分,用<#....>开始
注释:包含在<#--和-->(而不是<!--和-->)之间
例如:
<#if ……>
……
<#else>
……
<#/if>
预定义指令:引用方式为<#指令名称>
用户定义指令:引用方式为<@指令名称>,引用用户定义指令时须将#换为@。
** 如果使用不存在的指令,FreeMarker不会使用模板输出,而是产生一个错误消息。
freemarker指令由FTL标记来引用,FTL标记和HTML标记类似,名字前加#来加以区分。如HTML标记的形式为<h1></h1>则FTL标记的形式是<#list></#list>
有三种FTL标记:
1)、开始标记:<#指令名称>
2)、结束标记:</#指令名称>
3)、空标记:<#指令名称/>
注意:
1) FTL会忽略标记之中的空格,但是,<#和指令 与 </#和指令 之间不能有空格。
2) FTL标记不能够交叉,必须合理嵌套。每个开始标记对应一个结束标记,层层嵌套。 如:
<#list>
<li>
${数据}
<#if 变量>
<p>game over!</p>
</#if>
</li>
</#list>
注意事项:
1)、FTL对大小写敏感。所以使用的标记及interpolation要注意大小写。name与NAME就是不同的对象。<#list>是正确的标记,而<#List>则不是。
2)、interpolation只能在文本部分使用,不能位于FTL标记内。如<#if ${var}>是错误的,正确的方法是:<#if var>,而且此处var必须为布尔值。
3)、FTL标记不能位于另一个FTL标记内部,注释例外。注释可以位于标记及interpolation内部。
分享到:
相关推荐
这个“freeMarker模板文件附件.zip”压缩包包含了一些关键资源,便于学习者深入理解并实践FreeMarker模板语言的用法。 1. **FreeMarker模板语言基础** FreeMarker是基于模板的,它与Java代码分离,使得视图层的...
本主题将探讨如何利用Freemarker模板生成PDF以及如何使用EasyPOI生成带有图片、水印和分页功能的Excel。 首先,让我们深入了解Freemarker。Freemarker是一个强大的模板引擎,它用于生成文本输出,如HTML、XML或PDF...
### FreeMarker模板基本语法 #### 一、FreeMarker概述与基本用法 ...它通过将数据模型与表现层分离的方式...上述介绍仅涵盖了FreeMarker模板引擎的一部分基础内容,更多的高级特性还需要开发者在实践中不断探索和学习。
在这个"freemarker模板使用"的讨论中,我们将深入探讨Freemarker的核心概念、语法以及如何在实际项目中进行图片插入。 1. **核心概念**: - **模板(Template)**:Freemarker模板是包含固定文本和变量的文本文件...
《两种Freemarker模板路径设置方法详解》 在Spring MVC框架中,Freemarker作为一款强大的模板引擎,常被用于动态生成HTML页面。本篇文章将详细介绍两种设置Freemarker模板路径的方法,帮助开发者更好地理解和应用。...
这篇名为“初试FreeMarker模板的一些问题”的博客可能涵盖了在学习和使用FreeMarker过程中遇到的基础问题和解决方法。 1. **模板语言基础** FreeMarker使用模板语言来定义如何将数据模型渲染成可读的输出。模板由...
**Freemarker模板引擎** Freemarker是一个强大的、开源的模板语言,常用于Java应用中的视图层。它的主要任务是将数据模型与HTML或者其他格式的模板结合,生成最终的输出。Freemarker的设计原则是让模板作者专注于...
1. 非脚本语言:FreeMarker模板不包含执行逻辑,所有逻辑都在后端Java代码中处理,这有助于保持模板清晰,易于维护。 2. 高效性:由于模板在服务器端预编译为Java代码,因此FreeMarker执行速度快,性能优秀。 3. ...
Freemarker模板是一种强大的、基于Java的开源模板引擎,用于生成动态内容。它主要用于Web应用程序,尤其是与Spring框架集成时,但也可用于任何需要将数据模型转化为文本输出的场景,如电子邮件生成、报告制作等。在...
在FreeMarker模板中,特定的变量和指令被大括号${}包围。例如,若模板中有${obj.newsTitle}这样的代码,则在模板被处理时,它会被替换为实际对象obj的newsTitle属性值。因此,模板与具体的数据源关联在一起,模板...
- **数据模型**:Freemarker模板与应用程序的数据模型进行绑定,模型中的数据可以在模板中被引用和展示。 - **分离关注点**:Freemarker遵循MVC设计模式,负责视图部分,将业务逻辑和表现层分开,使代码更易于维护...
本压缩包集合了丰富的Freemarker学习资源,涵盖从基础到进阶的各种知识点,以下是这些文档中可能包含的详细内容: 1. **Freemarker中文手册.pdf**: 这份手册通常会详细介绍Freemarker的基本概念,如模板语言、...
在这个“struts2中jsp和freemarker模板视图的案例”中,我们将深入理解如何使用这两种不同的视图技术与Struts2框架进行集成。 首先,我们来看JSP(JavaServer Pages)作为视图的实现。JSP是Java中的动态网页技术,...
Freemarker是一个强大的模板引擎,常用于...通过学习和运行这些示例,你可以更直观地理解Freemarker解析生成PDF的完整流程。在实践中,不断调整和优化模板设计,以及合理组织数据模型,可以使生成的PDF更加专业和高效。
该源码为基于Freemarker模板的DynamicHibernate设计,包含45个文件,涵盖28个Java源文件、6个XML配置文件、2个属性文件等。该项目旨在简化Hibernate的查询操作,提供灵活的查询方式及HQL/SQL管理,支持自动切换SQL/...
- **分离视图和逻辑**: Freemarker模板与Java代码分离,使得开发人员可以专注于业务逻辑,而设计师可以专注于页面设计。 - **高性能**: Freemarker编译模板为高效的Java代码,执行效率高。 - **灵活性**: 支持...
本项目提供的就是一个无刷新导出Word文档的示例,它利用了FreeMarker模板引擎来实现这一功能。 FreeMarker是一个强大的、轻量级的模板语言,它主要用于生成动态内容,如HTML、XML、Word文档等。在这个项目中,...
3. **FreeMarker模板**: 创建一个FreeMarker模板,定义好Word文档的结构,并在合适的位置预留出插入图片的占位符。 4. **数据传递**: 将图片的URL或本地路径作为数据传递给FreeMarker模板。在模板中使用`<img>`标签...
3. **配置`Freemarker`**:设置`Freemarker`的配置项,如模板加载路径,模板解析策略等。 4. **解析并生成DOC文件**:使用`Freemarker`的API,将模板和数据模型合并,生成DOC文件。 在提供的`demo`文件中,可能包含...
FreeMarker模板是由HTML或XML格式的静态内容与动态内容标记(通常以`<#...>`和`${...}`表示)组成。动态内容由Java代码提供,而模板引擎负责将这些内容结合,生成最终的输出。FreeMarker的核心概念包括变量、表达式...