模板引擎
1、什么是模板引擎
根据前边的数据模型分析,课程预览就是把课程的相关信息进行整合,在课程预览界面进行展示,课程预览界面与课程发布的课程详情界面一致,保证了教学机构人员发布前看到什么样,发布后也会看到什么样。
项目采用模板引擎技术实现课程预览界面。什么是模板引擎?
早期我们采用的jsp技术就是一种模板引擎技术,如下图:

1、浏览器请求web服务器
2、服务器渲染页面,渲染的过程就是向jsp页面(模板)内填充数据(模型)。
3、服务器将渲染生成的页面返回给浏览器。
所以模板引擎就是:模板+数据=输出,Jsp页面就是模板,页面中嵌入的jsp标签就是数据,两者相结合输出html网页。
常用的java模板引擎还有哪些?
Jsp、Freemarker、Thymeleaf 、Velocity 等。
本项目采用Freemarker作为模板引擎技术。
Freemarker官方地址:http://freemarker.foofun.cn/
FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。FreeMarker 是 免费的, 基于Apache许可证2.0版本发布。
2. Freemarker快速入门
下边在内容管理接口层搭建Freemarker的运行环境并进行测试。
在内容管理接口工层 添加Freemarker与SpringBoot的整合包
| XML <!-- Spring Boot 对结果视图 Freemarker 集成 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency> |
我下班是在nacos进行配置的,你们可以在本地进行配置
在nacos为内容管理接口层配置freemarker,新加一个freemarker-config-dev.yaml

配置信息如下:
| YAML |
在内容管理接口工程添加freemarker-config-dev.yaml

添加模板,在resources下创建templates目录,添加test.ftl模板文件
| HTML <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello World!</title>
</head>
<body>
Hello ${name}!
</body>
</html> |
编写controller方法,准备模型数据
| Java package com.xuecheng.content.api;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;
/**
* @program: xuecheng-plus-project148
* @description: freemarker测试
* @author: Mr.Zhang
* @create: 2023-03-07 09:55
**/
@Controller //因为freemarker返回页面不是json这里使用@Controller
public class FreemarkerController {
@GetMapping("/testfreemarker")
public ModelAndView test() {
ModelAndView modelAndView = new ModelAndView();
//设置模型数据
modelAndView.addObject("name","小明");
//设置视图的名称,就是模板文件的名称(去掉扩展名)
modelAndView.setViewName("test");
return modelAndView;
}
} |
启动内容管理接口工程,访问http://localhost:63040/content/testfreemarker
屏幕输出:Hello 小明!

freemarker提供很多指令用于解析各种类型的数据模型,参考地址:http://freemarker.foofun.cn/ref_directives.html
文章介绍了模板引擎的概念,以Freemarker为例,详细阐述了如何在Java项目中集成和使用Freemarker进行页面渲染。通过添加依赖、配置SpringBoot、创建模板文件及编写Controller方法,展示了从模板到动态页面的流程。此外,还提供了Freemarker的官方参考链接以供深入学习。
20万+

被折叠的 条评论
为什么被折叠?



