springboot html调用js无效400问题及解决

作者:子非鱼yy 时间:2023-06-24 02:11:54 

springboot html调用js无效400

html板在templates下面,js文件在static下面,在模板中引用时不需要加static这个路径。

例如

src
  └─main
     ├─java
     └─resources
         ├─static
         │  ├─css
         │  ├─img
         │  └─js
         │    └─test.js
         └─templates

在模板中引用test.js, 你引用的地址应当为/js/test.js,换成thymeleaf的属性则应当为th:src="@{/js/test.js}",其中的绝对地址可以换成相对地址。

无法访问css,js,图片等静态资源的三种方案

今天在写一个Spring Boot项目的时候发现了一个问题,无法访问static目录下的文件夹里面的静态资源,如css, js和图片 ,在网站中也没有找到这些静态文件的地址。在网上找了好几种解决方法也没有用。但是我之前使用Spring Boot的时候并没有出现这个问题。

所以我找出了以前写的项目,对比了一下,终于发现了问题:

以前的项目我是把所有的静态文件全都放在了static这个文件下,于是直接访问了。但是现在我在static文件夹下又多分了几个文件夹,结构如下图:

springboot html调用js无效400问题及解决

第一种解决方法

发现了不同之后,我尝试了将这个css文件直接放在static最外面,然后更改文件的引用地址为

<link rel="stylesheet" href="me.css" rel="external nofollow" >

发现果然可以正常的访问到了。

第二种解决方法

但是这种方法并不是我想要的,不过发现了问题之后就好办了。我找到了另一种解决方法,可以保持这个文件系统结构:

在application.properties这个配置文件中添加:spring.mvc.static-path-pattern=/static/**

如果你的配置文件是application.yml文件则添加

spring:
   mvc:
       static-path-pattern: /static/**

添加之后recompile一下,果然可以在子文件夹中访问了,引用的格式是: 

<link rel="stylesheet" href="../static/css/me.css" rel="external nofollow"  rel="external nofollow" >

第三种解决方法

因为我使用的是thymeleaf这个模版,所以可以直接使用Thymeleaf的引入文件的方式,如下:

<link rel="stylesheet" href="../static/css/me.css" rel="external nofollow"  rel="external nofollow"  th:href="@{/css/me.css}" rel="external nofollow" >

这样,即使不在application.properties文件中配置,也可以引用到所需要的文件。

原因

为什么会出现这个问题呢?

因为Spring Boot的默认扫描路径是/static,并没有包含static这个文件夹之中的文件夹里面的文件,所以如果把文件放在/static/css/me.css这种位置就无法被识别出来。

而方法一和方法二的这段代码的作用就是将/static文件夹下面的所有文件夹和以及相应的子文件夹都添加到扫描路径中去,于是就可以正常的使用了。

来源:https://zhaoshuxiang.blog.csdn.net/article/details/78040573

标签:springboot,html,调用js,400
0
投稿

猜你喜欢

  • 基于静态Singleton模式的使用介绍

    2022-09-13 20:11:08
  • Java全面细致讲解Wrapper的使用

    2023-02-14 00:49:24
  • Android应用中绘制圆形头像的方法解析

    2022-02-06 00:46:52
  • Flutter数据库的使用方法

    2022-02-04 04:18:02
  • 基于Spring的注解@Qualifier小结

    2022-12-20 23:17:50
  • Java常用内置注解用法分析

    2023-11-24 04:53:46
  • 详解Spring-boot中读取config配置文件的两种方式

    2021-07-04 15:52:55
  • unity里获取text中文字宽度并截断省略的操作

    2023-11-02 07:48:52
  • 你什么是Elastic Stack(ELK)

    2022-12-02 20:12:43
  • 例题详解Java dfs与记忆化搜索和分治递归算法的使用

    2022-03-15 08:29:55
  • 详解C#用new和override来实现抽象类的重写区别

    2022-12-02 01:50:51
  • springcloud之自定义简易消费服务组件

    2022-01-29 00:18:24
  • 详解如何在C#中使用投影(Projection)

    2023-03-28 09:14:15
  • springboot @Valid注解对嵌套类型的校验功能

    2023-07-01 13:02:18
  • 浅析Android文件存储

    2023-06-16 09:07:37
  • Struts2+uploadify多文件上传实例

    2023-03-19 07:53:35
  • C# 对文件与文件夹的操作包括删除、移动与复制

    2023-11-16 07:20:46
  • java打印菱形及直角和等腰三角形的方法

    2023-01-08 20:46:55
  • springboot logback调整mybatis日志级别无效的解决

    2023-05-03 05:36:21
  • C#实现简单聊天程序的方法

    2022-01-02 22:31:20
  • asp之家 软件编程 m.aspxhome.com