Thymeleaf错误地加载静态文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Thymeleaf错误地加载静态文件相关的知识,希望对你有一定的参考价值。

所以我正确加载了静态css文件,然后无论出于何种原因,都说不出原因,他们停止加载正确。这是我的项目结构:

enter image description here

在index.html中导入:

<head>
  <link rel="stylesheet" th:href="@{/css/styles.css}"/>
</head>

我甚至试图在spring.resources.static-locations=classpath:/static/设置application.properties无济于事。

最好的部分:enter image description here在检查网站时 - styles.cssindex.html文件夹中加载为templates

做什么?

答案

在春季安全4.x - 春天安全的资源是permitAll

在spring security 5.x中 - 你应该手动配置它。

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests().antMatchers("/css/**", "/js/**").permitAll()
}
另一答案

请尝试检查以下几点: 1. ResourceHandler有css位置

class WebConfig implements WebMvcConfigurer {
  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/css/**")
      .addResourceLocations("classpath:/static/css/");
  }

  ...
}

2.在spring-security规则中排除* .css

class SecurityConfig extends WebSecurityConfigurerAdapter {

  @Override
  public void configure(WebSecurity web) throws Exception {
    web.ignoring().antMatchers(
      "/css/**",
      "/js/**",
      "/img/**",
      ...
    );
  }

  ...
}

以上是关于Thymeleaf错误地加载静态文件的主要内容,如果未能解决你的问题,请参考以下文章

带有 Spring Boot 的 Thymeleaf - 找不到静态资产 (CSS)

Netbeans 8 不会重新加载静态 Thymeleaf 文件

使用 Spring Boot 和 Thymeleaf 加载静态资源

Thymeleaf - 如何交互和重新加载 Javascript?

Java基础总结之Thymeleaf详解

ThymeLeaf 片段在错误 th:if 上执行