网站、WordPress、公众号、小程序和各种系统的定制开发可与我联系:
废话不多说,既然你看到了这里,说明你曾经尝试过使用?v=1.0这种方式来解决这个问题,那么SpringBoot有没有更好的方式来解决呢?答案是肯定的。
使用方法也很简单,配置类和配置文件两种方式,如下:
@Configuration
public class ResourcesConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// 静态文件版本管理(MD5方式)
registry.addResourceHandler("/**").addResourceLocations("classpath:/static/").resourceChain(false)
.addResolver(new VersionResourceResolver().addContentVersionStrategy("/**"));
}
}
spring.resources.chain.strategy.content.enabled=true
spring.resources.chain.strategy.content.paths=/**
spring.resources.chain.strategy.fixed.enabled=true
spring.resources.chain.strategy.fixed.paths=/js/lib/
spring.resources.chain.strategy.fixed.version=v12
如果配置完成后你的页面能够正常显示如下内容则表示OK了,下面的内容不需要看了。
但是因为srpingboot版本或项目配置等等各种原因,你的配置还没生效。具体现象和questions-53784406描述一致。解决方法SPR-15012也说明了,就是添加ResourceUrlEncodingFilter,如下:
@Configuration
public class ThymeleafConfig {
@Bean
public ResourceUrlEncodingFilter resourceUrlEncodingFilter() {
return new ResourceUrlEncodingFilter();
}
}
注意:这段ResourceUrlEncodingFilter不能放到WebMvcConfigurer配置类里。
~谢谢打赏~手机请长按图片~
赞 赏