1. 前言🔥
我们都知道,Spring Boot作为一款广泛应用于企业级的开发框架,其通过简化开发过程、提高开发效率赢得了众多开发者的青睐。在实际项目开发中,集成 HTML作为 Web 应用程序中的一个基本需求,也是现在极其常见的场景之一。在此,我将为大家分享一下Spring Boot如何集成HTML的实现方法。
首先,我们需要明确两个前提:Spring Boot作为一个 Web 框架,其实现的核心原则就是 Restful。其次,HTML是常用的结构性标记语言,它是构建 Web 应用程序的必备语言之一。鉴于这两个前提,我们可以通过引入 Thymeleaf 模板引擎来实现 HTML 的集成。
那么,具体如何集成Html呢?这将又会是干货满满的一期,全程无尿点不废话只抓重点教,具有非常好的学习效果,拿好小板凳准备就坐!希望学习的过程中大家认真听好好学,学习的途中有任何不清楚或疑问的地方皆可评论区留言或私信,bug菌将第一时间给予解惑,那么废话不多说,直接开整!Fighting!!
2. 环境说明🔥
本地的开发环境:
- 开发工具:IDEA 2021.3
- JDK版本: JDK 1.8
- Spring Boot版本:2.3.1 RELEASE
- Maven版本:3.8.2
3. 正文🔥
具体而言,我们可以按照以下步骤来实现:
3.1 引入 Thymeleaf 依赖
引入 Thymeleaf 依赖:在你的项目pom依赖配置中 Maven 或 Gradle 配置文件中,引入 Thymeleaf 的相关依赖,如下是maven依赖:
<!-- pom.xml -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
3.2 配置 Thymeleaf 模板
配置 Thymeleaf 模板,在 Spring Boot应用的配置文件 application.properties 或 application.yml 中,配置 Thymeleaf 模板的相关信息,我是直接配置在dev环境配置中,你们如果作为演示,则直接在配置文件中配置如下即可,后续可以迁移指定到不同的配置文件中,这样针对不同的部署环境可以切换不同的配置,配置如下,仅供参考:
spring:
thymeleaf:
cache: false
mode: HTML
prefix: classpath:/templates/
suffix: .html
3.3 编写 HTML 页面
编写 HTML 页面:在 src/main/resources/templates 目录下,编写 HTML 页面,通过 Thymeleaf 填充 HTML 模板,演示代码如下,仅供参考:
<!DOCTYPE html>
<!--xmlns属性 定义一个命名空间-->
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Thymeleaf邮件模板</title>
</head>
<body>
<p>这是一份学生名单:请查收</p>
<table border="1">
<tr>
<td>学校</td>
<td th:text="${school}"></td>
</tr>
<tr>
<td>班级</td>
<td th:text="${className}"></td>
</tr>
<tr>
<td>姓名</td>
<td th:text="${name}"></td>
</tr>
</table>
<div style="color: red;">以上是学生名单!</div>
</body>
</html>
完整项目目录文件结构,仅供参考:
3.4 定义Controller
编写 一个Controller,在 Spring Boot 应用的 Controller 中,通过 @RequestMapping 注解等方式配置该 Controller 处理的请求,代码参考如下:
@Controller
@RequestMapping("/html")
@Api(tags = "静态访问模块", description = "静态访问模块")
public class HtmlController {
@RequestMapping("/mail")
public String hello(ModelMap model) {
model.addAttribute("school", "闵行小学");
model.addAttribute("className", "六(2)班");
model.addAttribute("name", "赵云");
return "mail";
}
}
3.5 重启项目
运行应用程序:运行Spring Boot 应用程序,访问http://localhost:8080/html/mail,即可看到输出的mail, Thymeleaf 静态页面的结果。
很明显,我们通过指定addAttribute()设置参数,school,name等,然后通过在html页面中通过指定的获取手段获取addAttribute(),如上看页面,很明显是将指定设置的数据渲染到了html页面之中,测试完全ok。
拓展:
addAttribute()作用是往前台传数据,可以传对象,可以传List,通过el表达式 ${}可以获取到。类似于request.setAttribute("sts",sts)效果一样。
3.6 小结
总之,通过 Thymeleaf 模板引擎,我们可以实现 Spring Boot 与 HTML 的高效集成,提升 Web 应用程序的开发效率。当然,需要注意模板渲染的性能和安全问题,可以采用缓存和 CSRF 防御措施等方式进行优化和保护。
4. 热文推荐🔥
滴~如下推荐【Spring Boot 进阶篇】的学习大纲,请小伙伴们注意查收。
Spring Boot进阶(01):Spring Boot 集成 Redis,实现缓存自由
Spring Boot进阶(02):使用Validation进行参数校验
Spring Boot进阶(03):如何使用MyBatis-Plus实现字段的自动填充
Spring Boot进阶(04):如何使用MyBatis-Plus快速实现自定义sql分页
Spring Boot进阶(05):Spring Boot 整合RabbitMq,实现消息队列服务
Spring Boot进阶(06):Windows10系统搭建 RabbitMq Server 服务端
Spring Boot进阶(07):集成EasyPoi,实现Excel/Word的导入导出
Spring Boot进阶(08):集成EasyPoi,实现Excel/Word携带图片导出
Spring Boot进阶(09):集成EasyPoi,实现Excel文件多sheet导入导出
Spring Boot进阶(10):集成EasyPoi,实现Excel模板导出成PDF文件
Spring Boot进阶(11):Spring Boot 如何实现纯文本转成.csv格式文件?
Spring Boot进阶(12):Spring Boot 如何获取Excel sheet页的数量?
Spring Boot进阶(13):Spring Boot 如何获取@ApiModelProperty(value = “序列号“, name = “uuid“)中的value值name值?
Spring Boot进阶(14):Spring Boot 如何手动连接库并获取指定表结构?一文教会你
Spring Boot进阶(15):根据数据库连接信息指定分页查询表结构信息
Spring Boot进阶(16):Spring Boot 如何通过Redis实现手机号验证码功能?
Spring Boot进阶(17):Spring Boot如何在swagger2中配置header请求头等参数信息
Spring Boot进阶(18):SpringBoot如何使用@Scheduled创建定时任务?
Spring Boot进阶(19):Spring Boot 整合ElasticSearch
Spring Boot进阶(20):配置Jetty容器
Spring Boot进阶(21):配置Undertow容器
Spring Boot进阶(22):Tomcat与Undertow容器性能对比分析
Spring Boot进阶(23):实现文件上传
Spring Boot进阶(24):如何快速实现多文件上传?
Spring Boot进阶(25):文件上传的单元测试怎么写?
Spring Boot进阶(26):Mybatis 中 resultType、resultMap详解及实战教学
Spring Boot进阶(27):Spring Boot 整合 kafka(环境搭建+演示)
Spring Boot进阶(28):Jar包Linux后台启动部署及滚动日志查看,日志输出至实体文件保存
Spring Boot进阶(29):如何正确使用@PathVariable,@RequestParam、@RequestBody等注解?不会我教你,结合Postman演示
Spring Boot进阶(30):@RestController和@Controller 注解使用区别,实战演示
...
5. 文末🔥
如果想系统性的学习Spring Boot,小伙伴们直接订阅bug菌专门为大家创建的Spring Boot专栏《滚雪球学Spring Boot》从入门到精通,从无到有,从零到一!以知识点+实例+项目的学习模式由浅入深对Spring Boot框架进行学习&使用。
我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
关注公众号,获取最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板等硬核资源