FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

Freemarker中文手册: FreeMarker 中文官方参考手册

目录

一、初始化Springboot项目

二、引入依赖文件

三、编写配置文件

四、编写Controller类

五、编写模板文件

六、预览效果


一、初始化Springboot项目

二、引入依赖文件

    <!--   freemarker    --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency><!--    web     --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>

三、编写配置文件

application.yml

# freemarker模板引擎
spring:freemarker:allow-request-override: trueallow-session-override: true# 是否开始缓存cache: falsecheck-template-location: true# 默认编码格式charset: UTF-8content-type: text/html;expose-request-attributes: trueexpose-session-attributes: trueexpose-spring-macro-helpers: true# 模板放置位置template-loader-path: classpath:/templates/# 文件目录前缀prefix:# 文件后缀suffix: .ftlrequest-context-attribute: requestsettings:template_update_delay: 0url_escaping_charset: UTF-8locale: UTF-8# 日期时间格式化datetime_format: yyyy-MM-dd HH:mm:ss# 日期格式化date_format: yyyy-MM-dd# 时间格式化time_format: HH:mm:sstemplate_exception_handler: html_debug# 数字格式化,无小数点number_format: '0.#'# 设置freemarker标签 0,1,2 0=自动识别,默认1tag_syntax: 'auto_detect'

四、编写Controller类

IndexController.java

package com.csdn.controller;import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;import java.util.HashMap;
import java.util.Map;@Controller
public class IndexController {@GetMapping("/index")public String index(ModelMap model) {Map<String, Object> info = new HashMap<>();info.put("name", "Roc-xb");info.put("age", "25");info.put("date", "2021年12月10日19:48:01");model.put("info", info);return "index";}
}

五、编写模板文件

index.ftl

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>freemaker测试页面</title>
</head>
<body><div>${info.name}</div><div>${info.age}</div><div>${info.date}</div>
</body>
</html>

六、预览效果

SpringBoot实战教程(5)| 整合Freemaker相关推荐

  1. 视频教程-SpringBoot实战教程:SpringBoot入门及前后端分离项目开发-Java

    SpringBoot实战教程:SpringBoot入门及前后端分离项目开发 十三,CSDN达人课课程作者,CSDN 博客作者,现就职于某网络科技公司任职高级 Java 开发工程师,13blog.sit ...

  2. springboot springmvc mybatis_深圳嘉华学校之springboot实战教程

    Springboot实战教程 目录 第一章 springBoot概述... 2 href="https://zhuanlan.zhihu.com/write#_Toc508178432&qu ...

  3. SpringBoot实战教程(6)| 整合Druid

    Apache Druid是一个实时分析型数据库,旨在对大型数据集进行快速的查询分析("OLAP"查询).Druid最常被当做数据库来用以支持实时摄取.高性能查询和高稳定运行的应用场 ...

  4. SpringBoot实战教程(4)| 整合Mybatis

    ​MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .2 ...

  5. SpringBoot实战教程(7)| 整合JPA

    JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. 目录 一.初始化sp ...

  6. SpringBoot实战教程(1)| 整合Swagger3.0.0

    本文教你如何在SpringBoot中整合Swagger,快速实现在线接口文档. Swagger版本:3.0.0 SpringBoot版本:2.5.6 目录 一.初始化SpringBoot项目 二.引入 ...

  7. SpringBoot实战教程(8)| 整合mybatis-plus

    MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化 ...

  8. SpringBoot实战教程(3)| 整合Thymeleaf

    Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完全代替传统JSP . 官方文档: Documentation - Thymeleaf 目录 一.初始化Sp ...

  9. SpringBoot实战教程(2)| 整合knife4j3.0.3

    Knife4j的前身是swagger-bootstrap-ui,前身swagger-bootstrap-ui是一个纯swagger-ui的ui皮肤项目.项目正式更名为knife4j,取名knife4j ...

最新文章

  1. DeepMind发布最新《神经网络中持续学习》综述论文!
  2. 一个毕业生初入社会的历程 (四)一次简单的面试...
  3. 《VMware Virtual SAN权威指南》一第1章 VSAN概述
  4. RPM 软件包名中的 el5、el6、el7 是什么?
  5. 使用Git后10件你可能需要“反悔”的事
  6. java保留小数点后几位,不足的用0补
  7. 在github上参与开源项目日常流程
  8. node.js安装以及git 的使用说明
  9. mysql导入100000000需要多久_mysql做千万条压测数据
  10. 【树上分块】【dfs序】2018沈阳网络赛 —— J题
  11. 学生宿舍管理项目开发计划书_学生宿舍管理系统项目-计划书.doc
  12. bib config_配置config.bib的注意事项以及错误分析——自己都要顶!
  13. msxml3.dll 错误 '800c0005'具体解决办法详解
  14. maven工程读取resource资源文件(踩坑)
  15. 小红书笔记怎么写提高转化率
  16. 电机编码器调零步骤_各种编码器调零方法
  17. 手机红米5android7.11,红米5手机_红米5手机配置|价格【全解析】-太平洋IT百科
  18. Win10,详细永久关闭更新方法(附图文)
  19. MFC---定时器和双缓冲机制绘制旋转的金刚石图案
  20. SaaS模式、技术与案例详解——第11章 可配置性

热门文章

  1. 构造函数模式知识的扩展
  2. opencv stereo match sample
  3. [Leetcode]Next Permutation
  4. 本地访问网站好使外网不好用 可能是防火墙端口
  5. AJAX(Asynchronous JavaScript And XML,异步JavaScript + XML)
  6. OCP学习和培训ppt汇总
  7. VS2013模块对于SAFESEH映像是不安全的解决方法
  8. 【白皮书分享】人工智能治理白皮书.pdf(附下载链接)
  9. 【报告分享】智能时代的商业地产数字变革与发展报告.pdf(附下载链接)
  10. ubuntu安装最新版blender方法