FreeMarker快速入门

FreeMarker 是什么?

FreeMarker 是一款模板引擎。 也就是结合模板和数据, 用来产生输出文本的工具, 输出的文本格式包括: HTML网页、电子右键,源码等等。
FreeMarker 是一个Java的类库,其定义了一套简单的模板语言的语法。
FreeMarker 完全免费。

FreeMarker 能干什么?

  • 最典型的在Java MVC架构中用来作为视图层的显示组件,替代JSTL(JSP标准标签库)。在Spring Boot等框架中提供了很好的集成。
  • 作为复杂email 的模板引擎。

快速示例步骤

这里使用Maven 创建与管理项目。本篇使用 JUnit 5 进行测试。
项目结构如下图:
在这里插入图片描述

  1. pom.xml 导入FreeMarker依赖
<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.31</version>
</dependency>
  1. 在src/test/resource下 创建freemarker 目录, 并编写模板文件 my.ftl, 模板文件的内容如下:
Welcome ${user}
  1. 在src/test/java 下的包中创建测试类FreeMarkTests, 内容如下:
public class FreeMarkTests {

	@Test
	public void test() throws Exception {
		Configuration cfg = new Configuration(Configuration.VERSION_2_3_31);//设置配置版本	
		cfg.setDefaultEncoding("UTF-8");//设置字符集
		cfg.setDirectoryForTemplateLoading(new File(FreeMarkTests.class.getResource("/").getPath()+"/freemarker")); //设置模板文件目录
		Map<String,Object> root = new HashMap<String,Object>(); // 设置数据
		root.put("user", "oscar");
		Template t = cfg.getTemplate("my.ftl");	// 使用模板文件创建模板对象
		Writer out = new OutputStreamWriter(System.out, "UTF-8"); //控制台输出流对象
		t.process(root, out); //模板结合数据 , 输出到控制台
	}
}

以上目录结构和运行结果如下图:

在这里插入图片描述

补充

在Eclipse 中开发FreeMaker 模板时, 可以安装FreeMarker的插件进行开发。比如“FreeMarker IDE”, 安装方式就是在插件市场搜索之后, 点击安装就可以了, 如下图:

在这里插入图片描述

安装插件后使用 ftl 编辑器打开之后的效果如下:

在这里插入图片描述



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
快速上手Freemarker,你可以按照以下步骤进行: 1. 安装:首先,确保你的项目中已经引入了Freemarker的依赖包。你可以从Freemarker的官方网站下载最新的JAR文件,并将其添加到你的项目中。 2. 配置:在你的项目配置文件中,配置Freemarker的相关设置,比如模板文件的路径、编码方式等。你可以使用`Configuration`类进行配置,示例如下: ```java Configuration cfg = new Configuration(Configuration.VERSION_2_3_31); cfg.setDirectoryForTemplateLoading(new File("path/to/templates")); cfg.setDefaultEncoding("UTF-8"); ``` 3. 创建模板:在指定的模板文件夹中创建你的模板文件,使用Freemarker的语法编写动态内容。 4. 准备数据:准备要插入到模板中的数据。你可以创建一个`Map`或一个Java对象,并将数据存入其中。 5. 处理模板:使用`Template`类加载指定的模板文件,并将数据与模板进行合并。示例如下: ```java Template template = cfg.getTemplate("template.ftl"); Writer out = new OutputStreamWriter(System.out); // 将输出写入到控制台 Map<String, Object> data = new HashMap<>(); data.put("name", "John Doe"); template.process(data, out); ``` 6. 运行程序:运行你的程序,观察控制台输出或生成的结果文件,查看模板与数据合并后的动态内容。 通过这些步骤,你可以快速上手Freemarker,并开始在你的Web应用程序中生成动态内容。记得参考Freemarker的官方文档和示例代码,以了解更多高级特性和最佳实践。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oscar999

送以玫瑰,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值