以#开头的指令是freemarker的内置指令,用户自动的的指令以@开头
Freemarker区分大小写
指令之间有包裹内容时需要结束标记,没有内容时不需要结束标记<#if condition> xxx </#if> <#include "/file"> ;与内置指令不同用户自定义指令以@开头,并且在没有包裹内容时,需要增加'/'标记,如<@myDirection condition />
Freemarker指令列表大全 点我
Freemarker内置变量大全 点我 ,访问内置变量使用'.' ,如 当前时间${.now}
Freemarker内置引用大全 点我 ,使用内置引用很简单,如处理字符串的内置引用${name?low_case?trim}
FreeMarker never converts a string to a number automatically, but it may convert a number to a string automatically.
An attempt to print boolean values with interpolation causes an error and aborts template processing. For example this will cause an error: ${a == 2} and will not print ''true'' or something like that.
变量显示
${user.name}
${user.name!"Anonymous"}
当name为空时,设置默认值为Anonymous;此处有个问题是,如果user也为空,会抛出错误。
${(user.name)!"Anonymous"}
可避免上面的问题,无论user为空还是user.name为空都没关系。
${(user.name)!}
当没有指定默认值时,等同于${(user.name)!""},如,"Welcome_${(user.name)!}_" 将输出 Welcome__
控制结构指令
<#if user.name=="PC">welcome ${user.name}</#if>
<#if user.name==1>
price 1
<#else>
price bigger than 1
</#if>
<#if user.name??>user.name undefined</#if>
<#if (user.name)??>user or user.name undefined</#if>
列表循环指令
<#list users as user>
${user.name} ${user.age}
</#list>
页面包含指令
<#include "/footer.jsp">
分享到:
相关推荐
1. **基本语法**:Freemarker使用简单的模板语言,主要包括变量表示(${})、控制结构(if/else、foreach)、条件表达式(?)和函数调用(例如,日期和时间的格式化)。 2. **模板设计模式**:如如何定义模板布局,...
它允许开发者使用简单的模板语言(TL)来分离业务逻辑和视图层。本篇将深入探讨如何自定义FreeMarker标签,以扩展其功能并适应特定项目需求。 首先,理解FreeMarker的默认标签语法至关重要。FreeMarker使用${...}...
在这个“freemarker简单例子”中,我们将深入理解Freemarker的基本概念、配置以及如何在实际项目中使用。 1. **Freemarker基本概念** - **模板(Template)**:Freemarker的核心是模板,它定义了最终输出的静态...
3. **创建FreeMarker简单实例** - **步骤1:设置环境** 首先,你需要在项目中引入FreeMarker库。如果是Maven项目,可以在pom.xml中添加依赖: ```xml <groupId>org.freemarker <artifactId>freemarker ...
通过以上步骤,你可以了解如何使用Freemarker构建一个简单项目,生成静态HTML页面。实际应用中,可能还会涉及更多细节,如错误处理、模板缓存、模板继承等。不断探索和实践,你将更加熟练地掌握Freemarker这一强大...
通过这个简单的例子,我们可以看到Spring MVC和Freemarker的集成过程。在实际开发中,这只是一个基础的配置,可以根据项目需求进行更复杂的模板设计和数据绑定。例如,可以利用Freemarker的条件判断、循环结构、函数...
Freemarker的核心概念是模板语言,它允许开发者通过简单的标记语法来定义动态内容。这些模板可以包含静态文本和变量,变量会在运行时被实际的值替换。这种方式使得开发者可以把关注点集中在页面布局和设计上,而将...
在Grails与GORM中,处理这种关联特别简单,只需要在领域类中定义相应的属性和关系,FreeMarker模板则可以用来动态地展示这些关联数据。 例如,假设我们有一个`User`类和一个`Post`类,`User`可以有多个`Post`,那么...
FreeMarker是一个基于模板的语言,它与Java代码分离,允许开发者用简单的模板语法来表示数据。在Java中,我们通常会创建一个模型对象(Model),填充业务数据,然后使用FreeMarker模板来渲染这个模型,生成HTML文本...
这个"jdk1.8下可以使用的freemarker.jar"文件是专门为Java 8环境优化的Freemarker库,使得开发者能够在Java 8平台上无缝地集成和使用Freemarker进行动态内容渲染。 Freemarker的核心概念是模板(Template),它是一...
Freemarker和Velocity是两种广泛使用的模板引擎,它们在Java Web开发中扮演着重要的...通过阅读提供的"freemarker语法.doc"文档,你可以深入了解Freemarker的详细语法和使用方法,进一步提升你在这一领域的专业技能。
在 WebWork2 中,我们可以随意选择使用 Freemarker 或 Velocity 作为 View,模板技术作为 View 的好处是很多,尤其和 JSP 比较起来优点更大。 Velocity 和 Freemarker 都是开源的模板技术,它们都提供了强大的功能...
俗话说万事开头难,这句话对于我们程序员来说非常的适用,刚接触一门新的东西,...FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序
### Freemarker 使用总结与详解 #### 一、Freemarker 概述 Freemarker 是一种用于生成动态页面的模板引擎。它不依赖任何 Web 容器,可以在任何 Java 应用程序中使用。Freemarker 的核心优势在于其简单易学且功能...
在提供的"TestFreemarkerDiy"示例中,可能包含了一个简单的自定义标签实现以及一个演示如何使用该标签的Freemarker模板文件。通过分析这个示例,我们可以学习如何在实际项目中应用自定义标签,以提高模板的可维护性...
1. **变量和表达式**:在FreeMarker模板中,`${}`内的内容是表达式,用于获取Java对象的属性或执行简单的运算。例如`${user.name}`将输出用户对象的name属性。 2. **指令**:FreeMarker提供了一系列的内置指令,如`...
FreeMarker的模板语言是一种声明式的编程方式,它允许开发者通过简单的标记语法来控制输出。这些标记不包含执行逻辑,而是与数据模型结合以生成最终输出。例如,`<#if>`、`<#foreach>`用于条件判断和循环,`...
例如,一个简单的 FreeMarker 模板可能如下所示: ```html <!DOCTYPE html> <title>Generated Document ${title} ${content} ``` 在这个例子中,`${title}` 和 `${content}` 将分别被 Java 中对应的数据...
1. **模板语言**:Freemarker使用简单的文本模板语言,其中包含指令和表达式。例如,`<#if>`、`<#foreach>`用于控制流,`${}`用于输出变量。 2. **数据模型**:Freemarker与Java对象交互,通过数据模型将Java对象...