二.环境搭建与配置
<!—freemarker初始配置-->
<servlet>
<servlet-name>freemarker</servlet-name>
<servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class>
<init-param>
<param-name>TemplatePath</param-name>
<param-value>/</param-value>
</init-param>
<init-param>
<param-name>NoCache</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>ContentType</param-name>
<param-value>text/html</param-value>
</init-param>
<init-param>
<param-name>template_update_delay</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>default_encoding</param-name>
<param-value>GBK</param-value>
</init-param>
<init-param>
<param-name>locale</param-name>
<param-value>zh_CN </param-value>
</init-param>
<init-param>
<param-name>number_format</param-name>
<param-value>0.##########</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>freemarker</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping>
----------------------------------------------------------------------------
三.常用语法
EG.一个对象BOOK
1.输出 ${book.name}
空值判断:${book.name?if_exists },
${book.name?default(‘xxx’)}//默认值xxx
${ book.name!"xxx"}//默认值xxx
日期格式:${book.date?string('yyyy-MM-dd')}
数字格式:${book?string.number}--20
${book?string.currency}--<#-- $20.00 -->
${book?string.percent}—<#-- 20% -->
插入布尔值:
<#assign foo=ture />
${foo?string("yes","no")} <#-- yes -->
2.逻辑判断
a:
<#if condition>...
<#elseif condition2>...
<#elseif condition3>......
<#else>...
其中空值判断可以写成<#if book.name?? >
</#if>
b:
<#switch value>
<#case refValue1>
...
<#break>
<#case refValue2>
...
<#break>
...
<#case refValueN>
...
<#break>
<#default>
...
</#switch>
3.循环读取
<#list sequence as item>
...
</#list>
空值判断<#if bookList?size = 0></#list>
e.g.
<#list employees as e>
${e_index}. ${e.name}
</#list>
输出:
1. Readonly
2. Robbin
分享到:
相关推荐
二、FreeMarker的主要特性 1. 非脚本语言:FreeMarker模板不包含执行逻辑,所有逻辑都在后端Java代码中处理,这有助于保持模板清晰,易于维护。 2. 高效性:由于模板在服务器端预编译为Java代码,因此FreeMarker执行...
### FreeMarker 学习资料详解 #### 一、FreeMarker 模板文件构成 FreeMarker 是一种用于生成动态文档的工具,它通过结合固定的文本、注释、变量(插值)以及指令(FTL标签)来创建动态内容。具体而言,FreeMarker ...
在本篇文章中,我们将深入探讨FreeMarker的学习要点,包括其基本概念、语法以及实际应用。 一、基本概念 1. 模板(Template):FreeMarker的中心是模板文件,它是一种特殊的文本文件,包含固定文本和变量。变量是由...
二、Hash的内置函数: 1. `hash?keys`:返回Hash的所有键,形成一个Sequence。 2. `hash?values`:返回Hash的所有值,形成一个Sequence。例如: ```freemarker , "sex": "man" } /> ${key}=${user[key]} `...
### FreeMarker 学习笔记知识点总结 #### 一、FreeMarker 概览 FreeMarker 是一个用 Java 编写的模板引擎,它可以帮助开发者快速生成 HTML 页面或其他格式的文档。其核心概念包括模板、数据模型以及如何将两者结合...
`freemarker.jar`是Freemarker库的二进制文件,它是实际运行时需要导入到Java项目的类路径中的,以便使用Freemarker的功能,如创建模板、解析数据模型并生成最终输出。 `source`目录可能包含了Freemarker 2.3.22的...
通过阅读“freemarker学习”和“freemarkerѧϰ”这两个文件,你可以深入了解Freemarker的语法和实际应用场景,逐步掌握这个强大的模板引擎。不断练习和实践,你将在不久的将来成为一名熟练的Freemarker开发者,能够...
二、FreeMarker的主要指令 1. `<#assign>`:用于创建新的变量或者重定义已有的变量。例如: ```html 张三"> ``` 2. `<#if>` 和 `<#else>`:条件判断指令,类似于Java中的`if...else`语句。例如: ```html ()>...
Freemarker的模板语言(FTL)非常简洁,易于学习,且不包含任何控制结构,这些都在Java代码中处理。 二、配置Freemarker编辑器 配置Freemarker编辑器是为了提供一个友好的开发环境,帮助开发者编写和调试模板。通常...
二、Freemarker语法 1. 输出表达式:`${...}`用于输出变量或表达式的值。 2. 注释:`<#-- ... -->`用于在模板中插入注释,这些注释不会出现在生成的输出中。 3. 控制结构:Freemarker提供了`<#if>`、`<#else>`、`...
FreeMarker 是一个强大的模板引擎,常用于动态生成HTML、Word...最后,压缩包中的"freemarker"文件可能是FreeMarker的示例代码或模板,供你参考和学习。记得根据实际情况调整和测试代码,确保其在你的项目中正常工作。
《freemarker-2.3.16》可能是Freemarker 2.3.16的源码或二进制库,对于开发者来说,可以深入研究其内部机制,或者为特定需求进行定制。 通过这些资料,你可以全面了解并掌握Freemarker的使用,从基础语法到高级特性...
#### 二、FreeMarker的灵活性与适用性 FreeMarker不仅限于Web应用,其独立于容器的设计使其同样适用于非Web环境下的应用程序。这意味着开发者可以在各种场景下利用FreeMarker的强大功能,无论是创建Web页面还是生成...
在`FreeMarker语法之表达式(一)`和`FreeMarker语法之表达式(二)`中,详细解释了各种类型的表达式,包括访问对象属性、数组和集合等。 - **遍历List**:在`Freemarker中如何遍历List.mht`中,会讲解如何使用`...
Freemarker是一个强大的模板引擎,主要...通过深入学习和熟练运用Freemarker,开发者可以构建出高效、灵活且易于维护的Web应用视图层。在实际项目中,结合WebWork或其他MVC框架,可以充分发挥其优势,提升开发效率。
综上,这份Freemarker中文手册涵盖了Freemarker的基本概念、语法、内置函数、与Java的交互方式以及高级特性和最佳实践,是学习和使用Freemarker不可或缺的参考资料。通过深入阅读和实践,开发者能够熟练地运用...
这个"freemarker源码.rar"文件包含了Freemarker的源代码,对于想要深入了解其内部工作原理或者进行二次开发的开发者来说,是一份宝贵的资料。 源码分析通常包括以下几个方面: 1. **模板语言解析**:Freemarker...
通过这些资源,你可以系统地学习JEECMS的各个方面,从基础操作到高级开发,再到FreeMarker的运用,都能得到全面的指导。不过,请注意,由于这些资源来源于网络,可能存在版本差异或更新不及时的情况,因此在学习时...
二、生成.doc文档流程 1. **设置模板**: 创建一个FTL(Freemarker Template Language)文件,例如`template.ftl`。在这个文件中,你可以使用Freemarker语法来定义文档的结构和内容,比如使用`<#if>`、`<#foreach>`等...
#### 二、FreeMarker的版本与翻译 根据给定的部分内容,可以看出该文档是FreeMarker 2.3.18版本的手册中文翻译版,由南磊翻译完成。该手册遵循Creative Commons Attribution 3.0 Unported许可协议发布,这意味着...