Recently, when working on the springboot themaleaf project, I encountered a situation where the css style on the homepage was not loaded. Later I found out that the css style was not added when registering the interceptor. The following is the latest Start code
public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor( new LoginHandleInterceptor()).addPathPatterns("/**") .excludePathPatterns("/index.html", // 排除掉首页请求 "/", // 排除掉首页请求 ) ; //registry.addInterceptor(new HandlerInterceptor()). }
When you visit the login page for the first time, the corresponding js css is intercepted by the interceptor and is not loaded. You only need to put the corresponding css, jquery, etc. into the interceptor
public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor( new LoginHandleInterceptor()).addPathPatterns("/**") .excludePathPatterns("/index.html", // 排除掉首页请求 "/", // 排除掉首页请求 "/user/login", "/asserts/css/*.css", "/asserts/img/*.svg", "/asserts/js/*.js", "/webjars/bootstrap/4.1.1/css/*.css", "/mancenter/*", "/error", "/asserts/lib/jquery/*","/asserts/lib/*.js") ; //registry.addInterceptor(new HandlerInterceptor()). }
1. Visit thethemaleaf page to report an error
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.Mon Jun 24 11:08:43 CST 2019
There was an unexpected error (type=Not Found, status=404).
No message available
Error 1:
The WebMvcConfig class was added during debugging
package com.feilong.Reptile.config; import org.springframework.stereotype.Component; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * 配置静态资源映射 * * @author sunziwen * @version 1.0 * @date 2018-11-16 14:57 **/ @Component public class WebMvcConfig implements WebMvcConfigurer { /** * 添加静态资源文件,外部可以直接访问地址 * * @param registry */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); } }
The error is still reported after deleting this class, guessing It may be a package path problem. Re-create a new project and transfer the old project, and no more errors are reported.
The above is the detailed content of How to solve the problem that springboot themeleaf does not load css when entering the page for the first time. For more information, please follow other related articles on the PHP Chinese website!