关于在SpringBoot里html资源引用地址及跳转地址浅谈

每天の收获

关于html里经常找不到资源,或者说路径问题

说起来,接触前端也有两年了吧。其实有时候一直闹不懂有的时候资源为什么找不到,为什么又能找到。很困扰,就算成功引入了也其实并不是那么清楚。
故今天借此机会特开一篇博,详解路径地址问题

1.先说说使用项目的环境

IDE使用的是2019款的IntelliJ IDEA,使用的SpringBoot框架,前端使用的html5,前端引擎使用的thymeleaf。
thymeleaf配置如下:(其实就是默认配置啦,你也可以根据你的项目需要将thymeleaf扫描位置配置到你需要的地方)

spring:
  thymeleaf:
   	cache: false
   	prefix: classpath:/templates/
    check-template: true
    suffix: .html
    encoding: UTF-8
   	servlet:
    	content-type: text/html
  	mode: HTML

其中prefix为tymeleaf去扫描的位置的前缀,可以根据你项目需要扫描的位置不同去调整,默认是在templates文件夹下。

2.关于访问url的误区

我在这里先以自己的项目内容举个例子:
项目结构
这里是我resource下面的项目结构,现在我们假定要访问views/user路径下的index界面,那我们该怎么访问?
静态访问
一开始我是像上面这也访问的,你也可以看到路径是views/user/index.html,看上去也没问题对吧?这里我们再看下index.html这个文件里的资源引用是如何引用的呢?
资源引入
感觉是不是就有点不对劲了? 虽然…/…/这样写,在逻辑上也没问题,因为就是退回上一级的上一级再去访问,IDE也不会报错,但是其实犯了一个很致命的错误。我们来细细探讨一下,其实这是在去访问静态的页面,就像你的图片一样,他是静态的放置着的,我们都知道视图解析器这一东西一直在运作,但是这样其实只是单纯的访问资源,并没有通过解析器生成页面

3.如何理解通过解析器生成的页面

通过第二点,我们可以清楚的了解到,我们访问界面很明显需要通过解析器后再生成界面,而不是直接访问静态的资源,那么这一小点我们就来详细描述做法
还是以我这个项目里的东西举例:

  1. 将你写的静态页面放到你配置的引擎模板扫描目录下:
    templates结构
  2. 在Controller里配置相应的页面生成代码:
    生成策略代码
  3. 在网页输入正确的url而不是像.html这样去访问静态页面
    url
  4. 接下来的是我想说的关于路径最重要的一个东西了:资源路径
    资源路径
    对,大伙儿肯定会很好奇,你这不是还是加了…/吗?那你这样做的意义何在。
    之所以这里会加…/,是因为当你在第二步生成了html页面之后,这个页面是放置在你输入的url: admin/这个子文件之下的
    你可以理解为他生成的页面是放在和css文件夹同级的admin文件夹下,故他需要…/退出当前文件夹再到css文件夹下去寻找资源。
    最后页面结果如下:
    显示结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值