spring boot 无法引用静态资源

0.说明:

在 resource/templates/index.html可以正常引用js。

而在resource/templates/system/sysDept.html中 不能正常引用static静态资源中的js


1.首先上项目结构图:

index.html可以正确引用static中的静态文件,而在system目录下,则不能引用到

2.index.html引用格式和sysDept.html引用一样,故贴出有问题的sysDept.html

**
图片说明

3.我的跳转路径:

图片说明

4.代码中的处理:

图片说明

5问题来了:

图片说明

6.疑惑点:

在引用静态资源时,为什么会出现我访问的路径 sys/dept2/呢?应该出现这样【http://localhost:8080/css/plugins/jsTree/style.min.css】才是正确的啊,

故请教大家
##

回答

添加 ../

为什么我的路径中会出现 【sys/dept2/】呢?

首先你看清楚了,这两个文件不再同一个目录下,引用js或者css时路径就不一样。你用同样的引用当然无效。
如果index页面引用是css/xxx/xxx
那么sysdept页面就是../css/xxx/xxx

sys/dept2 这个是你的页面路由地址,也可以说是页面地址,后面就是css引用

完整答案:

第一种:添加 ../

<link href="../../css/style.css" rel="stylesheet">

第二种:利用 thymeleaf的 th:href=@{}属性

<link href="css/style.css" th:href="@{/js/jquery.min.js}" rel="stylesheet">

第三种:直接添加 / 符号 就可以了

<link href="/css/style.css" rel="stylesheet">

找到了解决办法,真是不容易啊
个人推荐第三种