spring boot 2.x html中引用css和js失效问题及解决方法

yizhihongxing

下面是“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.propertiesapplication.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技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • jQuery可见性过滤选择器用法示例

    关于“jQuery可见性过滤选择器用法示例”的完整攻略,我将分为以下几部分进行讲解: 一、什么是可见性过滤选择器? 可见性过滤选择器是jQuery的选择器之一,可以筛选出页面中所有可见的元素。这些元素既要在页面上显示,还要满足以下其中之一的条件: 元素的高度(height)和宽度(width)都不等于0; 元素的display属性不为none; 元素的vis…

    css 2023年6月10日
    00
  • 详解区块链黑客松啥意思?如何参与以及其价值何在?

    详解区块链黑客松是什么? 区块链黑客松(Blockchain Hackathon)是一个以解决区块链技术问题为目的的比赛。黑客松通常持续数天,吸引了来自不同领域的开发者、设计师、创业者和投资者等参赛者,共同探讨和开发新的技术或应用。 对于区块链黑客松而言,主要的目标是鼓励参赛者合作创造出全新的、具有实际应用价值的智能合约或应用程序。这些应用程序可能用于促进更…

    css 2023年6月10日
    00
  • css判断不同分辨率显示不同宽度布局实现自适应宽度

    实现 CSS 判断不同分辨率显示不同宽度布局的关键技术是通过 CSS 媒体查询(Media Query),其中,媒体查询是通过检测设备特性和浏览器特性来判断采用何种样式表进行渲染,从而使得同一份 HTML 代码用户依然可以获得最佳的用户体验。下面是实现该技术的完整攻略: 首先,需要使用 meta 标签指定页面宽度和缩放。常见的 meta 标签形式如下: ht…

    css 2023年6月9日
    00
  • 前端浏览器字体小于12px的解决办法

    前端浏览器字体小于12px的问题是一个很常见的问题,但解决起来还是比较麻烦的。本文将介绍两种常见的解决方案。 方案一:使用transform进行缩放 使用CSS3的transform属性对文本进行缩放,缩放后浏览器的字体大小会随之变化,但不会影响到网站的整体布局。 font-size: 12px; transform: scale(0.8); 上面代码中,我…

    css 2023年6月9日
    00
  • JS判断不同分辨率调用不同的CSS样式文件实现思路及测试代码

    下面是详细讲解“JS判断不同分辨率调用不同的CSS样式文件实现思路及测试代码”的完整攻略。 思路 可以通过利用JavaScript判断屏幕分辨率的方式,来判断当前设备所使用的设备像素比(DevicePixelRatio)以及分辨率,从而动态加载不同分辨率下的CSS样式文件。具体实现流程如下: 首先,在HTML文档头部中要引入多个CSS样式表,每个样式表都对应…

    css 2023年6月9日
    00
  • Angular2整合其他插件的方法

    下面我就对“Angular2整合其他插件的方法”进行详细讲解。 准备工作 在整合其他插件之前,我们需要在项目中安装npm 包管理器和 angular-cli 。执行以下命令: npm install -g @angular/cli 使用第三方插件 Angular 拥有丰富的生态系统,完全覆盖了现代的web 标准。通过下面的步骤可以将第三方库导入您的 Angu…

    css 2023年6月9日
    00
  • 谷歌浏览器怎么去掉默认焦点边框(input边框)?

    要去掉谷歌浏览器默认的焦点边框(input边框),可以通过CSS样式来进行设置,具体的步骤如下: Step 1:为input元素设置CSS样式 input:focus { outline: none; } 在上面的CSS样式中,我们设置了当input元素获得焦点时,将其默认的焦点边框样式设置为none。这样,当用户在输入框中输入内容时,就不会被默认的边框样式…

    css 2023年6月10日
    00
  • html、css和jquery相结合实现简单的进度条效果实例代码

    下面我将详细讲解“html、css和jquery相结合实现简单的进度条效果实例代码”的攻略,包含以下内容: HTML进度条代码实现 CSS样式设计 JQuery实现进度条动画效果 1. HTML进度条代码实现 首先,在HTML中实现进度条需要先定义一个\<div>容器,其属性class值设置为“bar”。然后在该容器中添加另一个\<div&…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部