谷粒商城高级篇-首页-整合thymeleaf渲染三级类目

目录

整合Thymeleaf渲染首页

整合dev-tools渲染一级分类数据

渲染二级三级分类数据


整合Thymeleaf渲染首页

谷粒商城前端的代码请自行下载

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第1张图片

为了分担服务的压力,将服务的静态资源部署到nginx中从而实现动静分离

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第2张图片

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第3张图片

最终目的 :

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第4张图片

 整合thymeleaf

①product服务中导入thymeleaf依赖



    org.springframework.boot
    spring-boot-starter-thymeleaf

② 配置thymeleaf,关闭缓存,为了在生产环境下可以实时看到数据

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第5张图片

③ 创建一个web包用于编写页面跳转的controller,可以将之前的controller包更名为app

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第6张图片

④将首页资源中的index文件夹复制到static文件夹下,将index.html复制到templates文件夹下

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第7张图片

 Springboot中的static用于存放静态资源

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第8张图片

 谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第9张图片

 SpringBoot静态资源的访问

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第10张图片

SpringBoot自动配置,将默认访问index.html

自动加载资源的原理如下: 

ctrl+n

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第11张图片

 找到WelcomePageHandlerMapping中的getStaticPathPattern()方法,点击进去

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第12张图片

 点击staticPathPattern

 

 

 

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第13张图片

所有访问/**的路径都会去类路径下的 /META-INF/resources/ 、/resources/ 、/static/ 、/public/ 下查找

整合dev-tools渲染一级分类数据

配置访问localhost:10000/或者localhost:10000/index.html来到首页的映射

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第14张图片

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第15张图片

GetMapping中默认存放是一个数组,可以多路径映射

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第16张图片

由于thymeleaf的默认前缀为:classpath:/tempaltes/ ,默认后缀为:.html

视图解析器会进行一个拼接:默认前缀+"返回值"+默认后缀

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第17张图片

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第18张图片

查出一级类目,使用Model对象封装

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第19张图片

thymeleaf官方地址:Thymeleaf

将thymeleaf的使用文档pdf下载下来

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第20张图片

thymeleaf的使用步骤: 

①加入名称空间

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第21张图片

 xmlns:th="http://www.thymeleaf.org"

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第22张图片

 取出使用thymeleaf取出一级分类,取值表达式在第四章

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第23张图片

 谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第24张图片

 重启服务查看

由于更新页面每次重启非常麻烦,因此,页面修改时不重启服务达到实时更新

①导入dev-tools依赖

  

      org.springframework.boot
      spring-boot-devtools
      true

 细节:optional一定写true,这才把工具真正的导入进来了

加入了这个工具都会有如下标签:

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第25张图片

②ctrl+F9 或 ctrl+shift+F9 重新自动编辑页面,前提:thymeleaf的缓存关闭否则无效;代码配置,推荐重启

index.html的类目是写死的,现在需要动态的取出一级类目,需要用到thymeleaf的遍历,遍历在使用文档的第六章 

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第26张图片

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第27张图片

出现问题:页面不显示数据

出现原因:没有遍历

解决方案如下:

将key改为categorys

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第28张图片

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第29张图片

自定义属性存放catId,thymeleaf的自定义属性赋值在pdf的第五章

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第30张图片

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第31张图片

渲染二级三级分类数据

当鼠标移动到一级类目上就要显示它的二级类目、三级类目

调用的是js文件夹下的catelogLoader.js

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第32张图片

请求的是json文件下的catalog.json数据 

使用json在线转化工具将json数据转化为对象 

第一级的对象是String,Object,其中String是一级类目的catId

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第33张图片

 第二级对象以及第三级对象

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第34张图片

 编写Vo

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第35张图片

编写接口 

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第36张图片

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第37张图片

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第38张图片 

查看结果

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第39张图片

复制数据将其转化为对象 

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第40张图片

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第41张图片 谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第42张图片

谷粒商城高级篇-首页-整合thymeleaf渲染三级类目_第43张图片

你可能感兴趣的:(尚硅谷谷粒商城,谷粒商城)