下面是“spring boot 2.x html中引用css和js失效问题及解决方法”完整攻略:
问题描述
在使用Spring Boot 2.x开发web应用时,可能会遇到在HTML文件中引用的CSS和JS失效的问题,无法正确加载页面样式和脚本,这时需要解决这个问题。
解决方法
解决这个问题的方法有两种:一种是将静态资源文件放在Spring Boot提供的默认静态资源目录下,另一种是自定义静态资源目录。
解决方法一:使用默认静态资源目录
Spring Boot提供了默认的静态资源目录/static
、/public
、/resources
和/META-INF/resources
目录,我们只需要将静态资源文件放在其中一个目录下即可,Spring Boot会自动帮我们处理。
示例1:将静态资源文件放在/static
目录下
首先,在Spring Boot工程的src/main/resources下新建一个/static目录,将样式文件和脚本文件放在其中。例如,我们有以下两个文件:
src/main/resources/static/css/style.css
src/main/resources/static/js/main.js
在HTML文件中,我们可以这样引用:
<!DOCTYPE html>
<html>
<head>
<title>Example Page</title>
<link rel="stylesheet" href="/css/style.css">
</head>
<body>
<h1>Hello, world!</h1>
<script src="/js/main.js"></script>
</body>
</html>
这里的/css
和/js
是指向/static
目录的路径,Spring Boot会自动帮我们加载这些静态资源文件,不需要进行其他配置。
示例2:将静态资源文件放在/public
目录下
和/static
目录一样,我们可以将静态资源文件放在/public
目录中,并在HTML文件中使用相应的路径进行引用:
<!DOCTYPE html>
<html>
<head>
<title>Example Page</title>
<link rel="stylesheet" href="/css/style.css">
</head>
<body>
<h1>Hello, world!</h1>
<script src="/js/main.js"></script>
</body>
</html>
解决方法二:自定义静态资源目录
如果不希望使用Spring Boot提供的默认静态资源目录,则可以通过配置文件来自定义静态资源目录。
示例3:自定义静态资源目录
在application.properties
或application.yml
配置文件中,添加以下配置:
spring.resources.static-locations=classpath:/custom-static/
这里我们将静态资源放在了/custom-static
目录下,我们需要在类路径下创建一个/custom-static
目录,并将静态资源文件放入其中。
在HTML文件中,我们可以这样引用静态资源:
<!DOCTYPE html>
<html>
<head>
<title>Example Page</title>
<link rel="stylesheet" href="/css/style.css">
</head>
<body>
<h1>Hello, world!</h1>
<script src="/js/main.js"></script>
</body>
</html>
这里的/css
和/js
路径和上面的示例类似,指向了静态资源所在的目录。
总结
在Spring Boot 2.x中,我们可以通过Spring Boot提供的默认静态资源目录或者自定义静态资源目录的方式来解决在HTML文件中引用的CSS和JS失效的问题,这可以很好地满足不同场景下的需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:spring boot 2.x html中引用css和js失效问题及解决方法 - Python技术站