当前位置: 首页 > news >正文

谷粒商城实战笔记-136-商城业务-首页-整合thymeleaf渲染首页

文章目录

  • 一,Thymeleaf 简介
  • 二,Thymeleaf 的使用步骤
    • 1,引入Thymeleaf依赖
    • 2,关闭Thymeleaf缓存
    • 3,将静态文件拷贝到resources的static文件夹下
    • 4,将index.html拷贝到resources的templates文件夹下
  • 三, 使用热加载工具spring-boot-devtools
    • 1,引入devtools依赖
    • 2,ctrl+shift+f9 编译静态资源

前面学习后台管理系统是前后端分类的模式,前端发出请求,后端接收请求并响应,前端接收响应后解析数据、渲染页面。

商城后续的前后端开发模式不再是前后端分类的模式了,而是使用Thymeleaf来完成页面的渲染。

前后端的请求都通过Controller,Controller中完成数据的封装,响应一个字符串,Thymeleaf将数据填充到html页面中,将html页面返回给浏览器进行渲染。前端代码和后端代码在同一个工程。

一,Thymeleaf 简介

想象一下,你正在做一个网站,需要向用户展示一些信息,比如用户的姓名或者一些产品列表。

通常情况下,除了编写 HTML 代码来构建网页的外观,但是还需要一些方式来把服务器上的数据放到这些 HTML 页面上。

这就是 Thymeleaf 发挥作用的地方。

Thymeleaf 是一种工具,它可以将数据动态地填入到 HTML 页面中。

下面是一个简单的例子来说明它是怎么工作的:

  1. 编写 HTML 模板

    • 首先写好一个 HTML 文件,就像平常一样,但是在这个文件中,用一些特殊的标签来告诉 Thymeleaf 在哪里放置数据。
    • 例如, <p th:text="${greeting}">Hello World!</p> 这样的代码,“th:text” 是 Thymeleaf 的特殊标签,它告诉 Thymeleaf 把变量 “greeting” 的值放在这个段落里。
  2. 准备数据

    • 在服务器端(也就是你的 Java 代码),你准备好了要显示的数据,比如 “greeting = 'Hello, John!'”。
  3. 渲染页面

    • 当用户访问你的网站时,Thymeleaf 读取 HTML 模板,并用实际的数据替换掉那些特殊标签。
    • 结果就是,用户看到的是 <p>Hello, John!</p> 而不是 <p th:text="${greeting}">Hello World!</p>

这样,就有了一个动态的网页,它可以根据服务器上的数据变化而变化,但是仍然可以像平常一样编写 HTML 代码。

总结起来,Thymeleaf 就是用来把数据动态地填充到 HTML 页面中的工具。

二,Thymeleaf 的使用步骤

1,引入Thymeleaf依赖

		<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

2,关闭Thymeleaf缓存

在配置文件中增加如下配置,关闭Thymeleaf缓存,关闭的原因是在开发的过程中,可能随时修改html页面,如果有缓存,就不能及时的看到最新的效果。

spring:thymeleaf:cache: false

3,将静态文件拷贝到resources的static文件夹下

课程已经提供了前端的基本代码,把静态文件如js和css拷贝到资源目录徐爱的static目录下。

在这里插入图片描述

4,将index.html拷贝到resources的templates文件夹下

在这里插入图片描述

三, 使用热加载工具spring-boot-devtools

因为我们采用的前后端一体的开发模式,前端页面会频繁修改,如果每次修改都要重启服务,效率就会受到很大影响。

可以引入spring-boot-devtools这个开发工具,避免每次修改都要重启服务。

1,引入devtools依赖

		<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency>

引入了devtools的服务,在Idea的Services模块下,服务名后会有标识。

在这里插入图片描述

2,ctrl+shift+f9 编译静态资源

修改静态资源后,使用ctrl+shift+f9编译静态资源,之后浏览器请求的资源就是最新的了。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Django异步请求和后台管理实战
  • 『哈哥赠书 - 55期』-『码农职场:IT人求职就业手册』
  • IT课程学习搭子
  • 【AD域】搭建AD域服务器
  • C++STL常用总结
  • 2024年7月30日~2024年8月5日周报
  • 技术速递|VS Code Java 7月更新 - Gradle 支持增强!用户体验改进与 Spring 新功能
  • 量化投资基础(四)之AR、MA、ARMA与ARIMA模型
  • NASA:气溶胶研究处 (ARB) 48 英寸激光雷达数据
  • 边缘计算在智能交通系统中的应用探究
  • qt下载安装
  • 在MINST图像分类数据集上训练一个简单的多层神经网络
  • springboot宠物在线领养系统-计算机毕业设计源码51181
  • CODESYS EtherCAT通讯状态监测
  • Java语言程序设计基础篇_编程练习题*16.7 (设置时钟的时间)
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • android图片蒙层
  • Docker 笔记(2):Dockerfile
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • github从入门到放弃(1)
  • Lucene解析 - 基本概念
  • Nacos系列:Nacos的Java SDK使用
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • yii2权限控制rbac之rule详细讲解
  • 阿里云购买磁盘后挂载
  • 从0到1:PostCSS 插件开发最佳实践
  • 从零开始的无人驾驶 1
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 开发基于以太坊智能合约的DApp
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 浅谈Golang中select的用法
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 如何设计一个微型分布式架构?
  • 异常机制详解
  • 栈实现走出迷宫(C++)
  • #WEB前端(HTML属性)
  • (31)对象的克隆
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (回溯) LeetCode 131. 分割回文串
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (一) springboot详细介绍
  • (一)基于IDEA的JAVA基础1
  • (转载)(官方)UE4--图像编程----着色器开发
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .gitignore
  • .NET Core 成都线下面基会拉开序幕
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .Net程序帮助文档制作
  • .NET中两种OCR方式对比
  • [ MSF使用实例 ] 利用永恒之蓝(MS17-010)漏洞导致windows靶机蓝屏并获取靶机权限
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...
  • []新浪博客如何插入代码(其他博客应该也可以)