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

目录

整合Thymeleaf渲染首页

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

渲染二级三级分类数据


整合Thymeleaf渲染首页

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

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

最终目的 :

 整合thymeleaf

①product服务中导入thymeleaf依赖

<!--导入thymeleaf依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

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

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

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

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

 

 SpringBoot静态资源的访问

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

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

ctrl+n

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

 点击staticPathPattern

 

 

 

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

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

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

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

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

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

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

thymeleaf官方地址:Thymeleaf

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

thymeleaf的使用步骤: 

①加入名称空间

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

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

 

 重启服务查看

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

①导入dev-tools依赖

  <!--导入dev-tools依赖-->
<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <optional>true</optional>
</dependency>

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

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

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

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

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

出现原因:没有遍历

解决方案如下:

将key改为categorys

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

渲染二级三级分类数据

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

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

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

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

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

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

 编写Vo

编写接口 

 

查看结果

复制数据将其转化为对象 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据您提供的引用内容,您遇到的问题是在配置pom.xml文件时出现了依赖问题,具体是"Dependency 'org.springframework.boot:spring-boot-starter-test' not found"。您在各类网站上查找解决方法都没有找到有效的解决方案,直到在CSDN上找到了一文章,通过在Maven中导入相关包解决了问题。同时,您还提到了另外一个引用内容,其中包含了关于Maven安装的信息。 对于您的问题,您可以尝试在Maven中导入"spring-boot-starter-test"包来解决依赖问题。另外,您还提到了关于Thymeleaf的引用内容,但是您并没有提出具体的问题。如果您有关于"spring-boot-starter-thymeleaf"和"org.thymeleaf.context.Context"的问题,请提供更多细节,我将尽力为您解答。 #### 引用[.reference_title] - *1* [Dependency ‘org.springframework.bootspring-boot-starter-testnot found 的解决方法](https://blog.csdn.net/m0_67391270/article/details/126327077)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [MyBatis-Spring-Boot-Starter学习](https://blog.csdn.net/m0_67391907/article/details/126463485)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值