不说话,只有代码
1. 要先导入FreeMaker的包freemaker-2.3.8.jar
2. 代码
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; import java.util.HashMap; import java.util.Map; import freemarker.template.Configuration; import freemarker.template.DefaultObjectWrapper; import freemarker.template.Template; import freemarker.template.TemplateException; public class FreeMakerTemplate { public static void main(String[] args) throws IOException, TemplateException { /* 创建一个合适的configuration */ Configuration cfg = new Configuration(); // 加载配置文件 cfg.setDirectoryForTemplateLoading(new File( "src/study/freemaker/template")); // 指定如何查看数据模型 cfg.setObjectWrapper(new DefaultObjectWrapper()); /* 而以下代码你通常会在一个应用生命周期中执行多次 */ /* 获取或创建一个模版 */ Template template = cfg.getTemplate("test.ftl"); /* 创建一个数据模型Create a data model */ Map<String, Object> root = new HashMap<String, Object>(); root.put("root", "root"); Map<String, Object> elements = new HashMap<String, Object>(); root.put("elements", elements); elements.put("name", "king"); elements.put("age", "30"); elements.put("weight", "75kg"); elements.put("gender", "M"); /* 合并数据模型和模版 */ Writer out = new OutputStreamWriter(System.out);//打印到控制台 //生成到文件 Writer outFile = new OutputStreamWriter(new FileOutputStream("src/study/freemaker/template/test.xml"), "gb2312"); template.process(root, out); template.process(root, outFile); out.flush(); } }
test.ftl
<root name="${root}"> <name>${elements.name}</name> <age>${elements.age}</age> <weight>${elements.weight}</weight> <gender>${elements.gender}</gender> </root>
运行结果:
<root name="root">
<name>king</name>
<age>30</age>
<weight>75kg</weight>
<gender>M</gender>
</root>
相关推荐
FreeMarker是一款强大的、开源的模板引擎...通过上述知识点,你可以更好地理解和使用FreeMarker,无论是进行简单的页面渲染还是构建复杂的Web应用,都能游刃有余。记得利用提供的中文文档,这将大大加快你的学习进度。
在本示例中,“freemaker简单小例子”可能是指如何在Freemarker模板中插入动态数据并渲染成页面。基本流程包括以下几个步骤: 1. **创建Freemarker模板**:在`.ftl`文件中,你可以定义HTML结构,并使用`${...}`或`...
在"freemaker简单实现"的项目中,你可能包含以下步骤: 1. **引入依赖**:在你的Maven或Gradle项目中,添加FreeMarker的依赖库。例如,在Maven的pom.xml文件中添加: ```xml <groupId>org.freemarker ...
为了更好地理解Freemaker的工作原理,我们可以通过一个简单的XML文件示例来展示如何使用Freemaker处理数据。 ```xml xmlns="urn:DruleForm-Lite.xsd"> 类型1 类型2 ``` 针对上述XML文件,我们可以...
在这个场景中,我们关注的是一个基于FreeMarker(Freemaker)的Java代码生成器。FreeMarker是一个强大的、轻量级的模板引擎,主要用于生成动态Web内容,但在Java世界里,它也被广泛用于生成源代码、配置文件等静态...
这款工具的核心理念是将内容与表现分离,允许开发者使用简单的模板语言来描述数据如何呈现。在给定的场景中,`freemaker` 被用来自动化生成常见的Java开发中的各种组件,如`javabean`、`action`、`service`、`dao`...
FreeMaker IDE是一款专为FreeMarker模板语言设计的集成开发环境(IDE)。FreeMarker是一个开源的、基于Java的模板引擎,常用于Web应用开发,能够与Servlets或JavaServer Pages(JSP)配合工作,用于生成动态内容。它...
`<#recurse>`和`<#visit>`指令使得遍历XML树变得简单直观,模板可以直接访问XML对象模型,简化XML数据的处理工作。 数据模型在FreeMarker中通常表现为树形结构,包含hashes(类似目录,用于存储子变量)和scalars...
这些对象可以是简单的值,如字符串、数字,也可以是复杂的对象,如JavaBean、集合或Map。 3. **FreeMarker配置(Configuration)**:配置对象负责设置FreeMarker的行为,如加载模板、定义全局变量、设置默认编码等...
FreeMaker API CHM 文件是关于FreeMarker模板引擎的英文版API文档,它是以CHM(Microsoft Compiled HTML Help)格式编译的,这种格式通常用于存储和查看离线帮助文档。FreeMarker是一个开源的Java库,它允许开发者用...
freemaker工具是验证所写的freemaker模版是不是正确 使用只需写一下要传入的数据结构 把需要验证的模版贴到templates下的文件中运行就OK了 超级简单使用 比起启动项目一次一次的访问高效多了 提高开发速度 共同学习...
在本项目"Spring-FreeMaker-Mybatis.zip_DEMO_extjs freemaker_mybatis_mybati"中,我们将探讨一个集成Spring、Mybatis以及FreeMarker技术的简单DEMO,它主要用于演示如何利用这些技术来构建一个高效的Web应用。...
- **模板语言**:FreeMarker使用简单的文本文件作为模板,用${}和#{}包围变量和表达式,、等控制结构。 - **数据模型**:应用将数据模型传递给FreeMarker,模型中的对象可在模板中使用。 - **分离关注点**:...
本资源“freemaker导出word的doc_docx_带动态图片及word转pdf工具类_jar_万能整理汇总.rar”显然是一个集合了多种功能的压缩包,旨在帮助开发者高效地使用Freemarker来处理复杂的Word文档生成任务,并且包含了将Word...
FreeMarker模板语法简单,允许开发者用自然语言的方式编写HTML。 4. **Druid数据源**: Druid是一个高性能、功能强大的数据库连接池,提供了监控、SQL解析、参数解析等特性。在项目中,我们可以通过引入Druid的...
FTL模板语言是一种简单的标记语言,允许开发者在模板中插入变量、控制结构(如循环和条件语句)以及调用方法。 在"freemaker2word"项目中,我们有以下关键知识点: 1. **FreeMarker配置**:首先,你需要设置一个`...
2. **模板语言**:FreeMarker 使用直观且强大的模板语言,允许开发者通过简单的语法嵌入变量和控制结构,比如条件语句和循环。 3. **独立于容器**:FreeMarker 与特定的 HTTP 协议或 Servlet 容器无关,因此可以在...
FreeMarker使用简单的语法,如`${expression}`来引用数据模型中的变量,`<#if>`、`<#foreach>`等控制结构来控制输出。这种分离让开发者可以专注于业务逻辑,而设计师可以专注于页面的视觉呈现。 **Struts2与...
它是基于模板的,允许开发者将逻辑与表现分离,使代码更易于维护和扩展。本篇文章将根据提供的"深入浅出FreeMarker"的标题和描述,结合...无论是简单的数据展示,还是复杂的页面逻辑处理,FreeMarker都能助你一臂之力。