java - spring boot无法加载css文件

标签 java html css spring spring-boot

下面是我的文件目录树,html文件在src/main/webapp/templates,已经把src/main/webapp加入classpath。

src──main
     ├─java
     │  └─com
     │      └─ma2oo
     │          └─quizbox
     │              ├─application
     │              ├─config
     │              └─controllers
     ├─resources
     └─webapp
         ├─static
         │  ├─css
         │  └─js
         └─templates

网络配置文件是:

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        System.out.println("reached here ");
        registry.addResourceHandler("/resources/**").addResourceLocations("/static/");
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
        localeChangeInterceptor.setParamName("lang");
        registry.addInterceptor(localeChangeInterceptor);
    }
}

html 中的 ref 链接是:

  <link href="/static/css/components.css" rel="stylesheet"></link>

当网络服务器运行时,我无法从浏览器获得预期的结果,这与不存在 css 一样。

有人可以帮忙吗? 提前致谢。

最佳答案

由于您使用的是 Spring Boot,因此将资源放在 webapp 下并不是最好的主意。 .看这部分this官方 Spring Boot 文档

我建议您将现在拥有的所有静态内容移动到/webapp 下至 /resources并摆脱 addResourceHandlers配置方法,因为 Spring Boot 会自动正确映射静态内容。

那么例如你会得到 <link href="css/components.css" rel="stylesheet"></link>

有关使用静态内容的示例 Spring Boot 元素,请查看 this .

关于java - spring boot无法加载css文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25314298/

相关文章:

html - <col> 标签不能进行文本对齐吗? <col> 表示 <colgroup> 中列的组

Google Chrome 中的 CSS float 错误

java - 在 Java SE 中使用 CDI 和 JPA 最简单的方法是什么?

java - Android 全局函数等

java - 在 Java 中检索我的文档路径

java - android fragment 接口(interface)nullpointerexception

javascript - 是否可以为除一个页面之外的所有页面设置 IE 兼容性?

html - 验证解析错误

javascript - 为什么 HTML5 Canvas rect/fillRect 具有来自 Canvas 来源的图案渲染?

html - 如何使用 ngStyle 根据文本字符定位文本元素?