峰哥说技术:08-Spring Boot整合FreeMarker视图
Spring Boot深度课程系列
峰哥说技术—2020庚子年重磅推出、战胜病毒、我们在行动

08 峰哥说技术:Spring Boot整合FreeMarker视图
前面带着大家整合了Thymeleaf视图,今天我们继续聊聊关于视图整合的话题。FreeMarker这是一个相当老牌的开源的免费的模版引擎。通过 Freemarker 模版,我们可以将数据渲染成 HTML 网页、电子邮件、配置文件以及源代码等。Freemarker 不是面向最终用户的,而是一个 Java 类库,我们可以将之作为一个普通的组件嵌入到我们的产品中。来看一张来自 Freemarker 官网的图片:

可以看到,Freemarker 可以将模版和数据渲染成 HTML 。Freemarker 模版后缀为 .ftl(FreeMarker Template Language)。FTL 是一种简单的、专用的语言,它不是像 Java 那样成熟的编程语言。在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于要展示什么数据。
实施步骤:
1)创建新的工程,并添加web和freeMarker依赖。





pom.xml中的配置如图所示:
|
<dependency> |
2)编写Book实体类
|
package com.java.chapter02freemarker.entity; public class Book { public Book() { public Book(Integer id, String name, String author) { //getter和setter省略... |
3)修改IndexController
|
package com.java.chapter02freemarker.controller; import com.java.chapter02freemarker.entity.Book; import java.util.ArrayList; @Controller list.add(book1); |
4)编写index.flth模板文件
|
<!DOCTYPE html> |
在上面的模板文件在中,出现了freeMarker模板的语法,最重要的是if else,for循环迭代标签的使用。认真琢磨,也比较简单,这里不过多的解释。
要说明的是.ftlh是Spring boot 2.2.0后的扩展名,之前的版本是.ftl.我们和thymeleaf一样,也需要来看详细解读一下自动配置类和属性类。按快捷键Ctrl+N,查找FreeMarkerProperties得到如下的源码。
|
@ConfigurationProperties( //省略其他... } |
观看红色字体部分,可以清楚的看到模板的默认的路径是是类路径下面的templates,前缀名可以没有,后缀名为.ftlh。这也是我们为什么把模板文件放到resoureces下面的templates文件夹下面的原因。
峰哥说技术:08-Spring Boot整合FreeMarker视图的更多相关文章
- 峰哥说技术:09-Spring Boot整合JSP视图
Spring Boot深度课程系列 峰哥说技术—2020庚子年重磅推出.战胜病毒.我们在行动 09 峰哥说技术:Spring Boot整合JSP视图 一般来说我们很少推荐大家在Spring boot ...
- 峰哥说技术:10-Spring Boot静态资源处理
Spring Boot深度课程系列 峰哥说技术—2020庚子年重磅推出.战胜病毒.我们在行动 10 峰哥说技术:Spring Boot静态资源处理 今天我们聊聊关于 Spring Boot 中关于静 ...
- 峰哥说技术:04-Spring Boot基本配置
Spring Boot深度课程系列 峰哥说技术—2020庚子年重磅推出.战胜病毒.我们在行动 04 Spring Boot基本配置 1)容器的相关配置 在Spring Boot中可以内置Tomcat. ...
- Spring Boot 整合 Freemarker,50 多行配置是怎么省略掉的?
Spring Boot2 系列教程接近完工,最近进入修修补补阶段.Freemarker 整合貌似还没和大家聊过,因此今天把这个补充上. 已经完工的 Spring Boot2 教程,大家可以参考这里: ...
- Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker
今天来聊聊 Spring Boot 整合 Freemarker. Freemarker 简介 这是一个相当老牌的开源的免费的模版引擎.通过 Freemarker 模版,我们可以将数据渲染成 HTML ...
- Spring Boot 整合 Freemarker
Spring Boot 整合 Freemarker 1.Freemarker 简介 2.Spring Boot 整合 Freemarker 2.1 创建工程 2.2 创建类 2.3 其他配置 原文地址 ...
- 峰哥说技术:01-Spring Boot介绍
Spring Boot深度课程系列 峰哥说技术—2020庚子年重磅推出.战胜病毒.我们在行动 Spring Boot介绍 A.Spring Boot是什么? 由于Spring是一个轻量级的企业开发框架 ...
- 峰哥说技术:03-Spring Boot常用注解解读
Spring Boot深度课程系列 峰哥说技术—2020庚子年重磅推出.战胜病毒.我们在行动 03 Spring Boot常用注解解读 在Spring Boot中使用了大量的注解,我们下面对一些常用的 ...
- spring boot 整合freemarker(好用!!!!)
springboot整合freemarker 1.pom依赖 <!-- 引入freeMarker的依赖包. --> <dependency> <groupId>or ...
随机推荐
- java通过jdbc插入中文到mysql显示乱码(问号或者乱码)
对于很多初学者来说,中文字符编码不相同的问题,是一个很烦躁的问题!! 因为很多时候,我们并不知道,到底是哪一层出现了问题? 在这里稍微做个总结~也怕自己今后忘了!! 其实也就三层: 1.前端页面 2. ...
- QTP基本循环异常遍历(代码方式实现)
0 环境 系统环境:win7 1 前言 在正常循环的基础下 添加异常处理遍历 一些基本操作 请看正常循环 https://www.cnblogs.com/my-ordinary/p/11739180. ...
- OpenCV 亚像素级的角点检测
#include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #i ...
- crm项目-权限组件
############### 表结构分析 ################ """ 表结构设计: 1,四张表 用户表,userinfo,这个表本身不会被创 ...
- 微软研究院张永光博士与Dilek Hakkani-Tür博士当选2014年 IEEE院士
Hakkani-Tür博士当选2014年 IEEE院士" title="微软研究院张永光博士与Dilek Hakkani-Tür博士当选2014年 IEEE院士"> ...
- 如果你有一个域名,你也可以免费有一个diy@yourdomain.com的企业邮局
如果你有一个域名,例如:www.bengou.net那么你可以拥有一个免费邮箱:lajiyoujian@bengou.net.那么什么是企业邮局呢?有啥优点 企业邮局是指以您的域名作为后缀的电子邮件地 ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-读取json封装成类(13)
把读取json数据的函数封装成类 # -*- coding: utf-8 -*- # @Time : 2020/2/12 16:44 # @File : do_json_13.py # @Author ...
- MOOC(5)- mock模拟返回响应数据
1.安装mock 1)pip install mock 2)或者下载离线安装包 2.mock散装使用 import unittest from mock import mock from day_20 ...
- SAGE|DNA微阵列|RNA-seq|lncRNA|scripture|tophat|cufflinks|NONCODE|MA|LOWESS|qualitile归一化|permutation test|SAM|FDR|The Bonferroni|Tukey's|BH|FWER|Holm's step-down|q-value|
生物信息学-基因表达分析 为了丰富中心法则,研究人员使用不断更新的技术研究lncRNA的方方面面,其中技术主要是生物学上的微阵列芯片技术和表达数据分析方法,方方面面是指lncRNA的位置特征. Bac ...
- 使用JS-SDK自定义微信分享效果
前言 刚进入一家新公司,接到的第一个任务就是需要需要自定义微信分享的效果(自定义缩略图,标题,摘要),一开始真是一脸懵逼,在网上搜索了半天之后大概有了方案.值得注意的是一开始搜索到的解决方案全是调用微 ...