以maven为例
1.首先导入freemarker依赖包。
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.20</version>
</dependency>
2.建立source folder->src/main/resources,
在下面建立一个package-> ftl,
在ftl里面建立一个hello.ftl文件。
里面加入如下内容:
Hello:${username}
这个hello.ftl也就是freemarker用于生成文本的模板文件。
${username}里的username是要通过java代码往里面放的。
3.写一个测试类:
package com.lj.freemarker;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import org.junit.Test;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
public class TestFreemarker
{
@Test
public void testHello() throws IOException, TemplateException{
//1.创建Configuration
Configuration cfg=new Configuration();
//2.设计config中加载模板的路径
//设置了基于classpath加载路径,并且所有的模板文件都放在/ftl中。
cfg.setClassForTemplateLoading(TestFreemarker.class, "/ftl");
//3.获取模板文件,由于已经设置了默认的路径是/ftl,此时hello.ftl就是ftl包下面的文件
Template template=cfg.getTemplate("hello.ftl");
//4.创建数据文件,非常类似于OGNL,使用map来进行设置
Map<String,Object> root=new HashMap<String,Object>();
root.put("username", "alleni");
//5.通过模板和数据文件生成相应的输出
template.process(root, new PrintWriter(System.out));
}
}
以上代码会在console输出:
Hello:alleni
如果我们想生成html文件,只要用eclipse生成一个html文件,再修改后缀为ftl,然后加入Hello:${username}这样的内容即可。
最后通过template.process(root, new PrintWriter(new File(目标文件))来生成。
- 大小: 164.5 KB
分享到:
相关推荐
1. **集成到Java项目**: 将`freemarker-2.3.19.jar`添加到项目的类路径中,通过`freemarker.template.Configuration`创建配置对象,指定模板文件的目录。 2. **创建模板**: 模板文件通常以`.ftl`扩展名,可以包含...
在Spring Boot框架中,Freemarker是一个常用的模板引擎,它允许开发者将静态模板与动态数据结合起来,生成HTML、XML、PDF等格式的输出。本文将详细介绍如何在Spring Boot项目中集成Freemarker,并通过示例代码进行...
下面将详细解释如何在Spring MVC项目中实现i18n,并提供一个Freemarker的小实例。 **1. i18n的概念** i18n代表“国际化”,这里的数字18代表'i'和'n'之间的字母数量。它的目标是设计应用程序,使其能够轻松地适应...
例如,创建一个`hello.ftl`文件: ```html <!DOCTYPE html> <title>SpringMVC + FreeMarker Example <h1>Welcome, ${name}! ``` 4. **Controller编写** 创建一个SpringMVC的控制器类,比如`...
我们的入门实例名为 "HelloWeb",它将展示如何创建一个简单的 "Hello, World!" 页面。 1. 创建一个名为 `HelloController` 的 Java 类,使用 `@Controller` 注解标记为 Spring MVC 控制器,并定义一个返回 "Hello, ...
下面我们将通过一个简单的入门实例来深入理解 Spring MVC 的基本概念和工作流程。 **一、项目搭建** 1. **环境准备** - Java Development Kit (JDK):确保安装了JDK并配置好环境变量。 - Maven:Spring MVC 项目...
1. **创建第一个FreeMarker模板**:从创建一个简单的Hello World模板开始,熟悉如何输出数据和控制结构。 2. **整合Struts2**:搭建一个Struts2项目,配置FreeMarker,编写Action,然后在模板中使用从Action传递的...
server','springboot-elasticsearch','springboot-freemarker','springboot-helloworld','springboot-mybatis','springboot-mybatis-annotationspringboot-mybatis-annotation','springboot-mybatis-mutil-...
Freemarker是一个强大的模板引擎,常用于Java应用中生成HTML、XML等...在阅读提供的`freemarker-demo`压缩包文件时,你可以找到更详细的示例代码和注释,进一步学习Freemarker的高级特性,如条件判断、循环、宏定义等。
例如,假设我们有一个名为`<@myTag>`的自定义标签,它接受一个参数`name`,并在模板中输出"Hello, ${name}"。在Java类中,我们需要定义一个`MyTag`类,实现`TemplateDirectiveModel`接口,然后在`execute`方法中处理...
- 配置:创建一个`Configuration`实例,并设置模板目录,例如: ```java Configuration cfg = new Configuration(Configuration.VERSION_2_3_30); cfg.setDirectoryForTemplateLoading(new File("path/to/...
- **定义**: Freemarker 是一个用纯 Java 编写的模板引擎,主要用于根据模板生成文本输出。它可以用来生成 HTML Web 页面,尤其是在 MVC 架构中非常实用。 - **设计目的**: Freemarker 虽然具备一定的编程能力,但...
本入门实例将重点介绍如何使用注解来简化Spring MVC的配置,以便快速入门。Eclipse Dynamic Web工程是开发此类应用的常见环境。 首先,我们需要创建一个Eclipse Dynamic Web项目。在Eclipse中,选择"File" -> "New...
标题中的“18.[视频]使用模板(thymeleaf-freemarker)【从零开始学Spring Boot】”指的是一个视频教程,该教程聚焦于Spring Boot中模板引擎的使用,特别是Thymeleaf和FreeMarker这两种技术。Spring Boot是一个快速...
在这个"HelloWorld"实例中,我们将深入探讨如何使用Spring 5.0 MVC和Maven构建一个基本的应用程序。 首先,让我们了解Spring MVC的核心组件: 1. **DispatcherServlet**:它是Spring MVC的前端控制器,负责接收...
FreeMarker 实例:StaticPageServiceImpl 在实际项目中,FreeMarker可能与服务类如`StaticPageServiceImpl`结合,用于动态生成静态页面。此类可能包含方法,如`generatePage(FreeMarkerTemplate, DataModel)`,用于...
本实例将带你深入理解Spring MVC 4.0的基本用法,通过一个简单的"Hello World"应用,帮助你快速入门。 首先,我们需要了解Spring MVC的核心概念: 1. **DispatcherServlet**: 这是Spring MVC的前端控制器,负责...
JAVA模版引擎Freemarker常用标签(一) 1. if指令 这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: <#if condition>... <#elseif condition>... <#elseif condition>......
下面将详细介绍SpringMVC的基本概念、工作流程以及如何创建一个入门实例。 **1. SpringMVC基本概念** - **模型(Model)**: 模型通常包含了业务逻辑和数据。在SpringMVC中,模型对象通常是实现了`Serializable`...