SpirngBoot+thymeleaf关于WebMvcConfigurer方法无法排除静态资源的解决办法

  • Post author:
  • Post category:其他


写了一个拦截器用于登录状态控制,写入了这么一句话,让其在所有路径生效:


registration.addPathPatterns("/**");

以及静态资源排除

 registry.addResourceHandler("/resources/**").addResourceLocations("classpath:/resources/");

结果所有的静态文件还是被拦截了,仔细分析了一下,问题出在thymeleaf上,以登录页面为例:

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

那么这个css文件就交由thymeleaf处理了,也就是引用路径为


…/css/theme.css


在网页上测试也果然如此(此时不生效拦截器)

在这里插入图片描述

因此,只需要在拦截器排除对应路径就好了

如下:

根据你tymeleaf所代理的路径来就行

registration.excludePathPatterns("/css/**","/js/**","/pic/**");

在这里插入图片描述

成功!!!



版权声明:本文为weixin_43978037原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。