Spring中的静态资源无法正常工作。有任何想法吗?

时间:2017-12-07 02:43:32

标签: spring spring-mvc thymeleaf static-resource

情况:

我有一个来自start.spring.io的新春项目 我创建了文件project/src/main/resources/js/a.js

我也创造了project/src/main/resources/templates/index.html(与百里香一起) 需要a.js <script th:src="@{/js/a.js}"></script>

我也有以下配置:

@Configuration
@EnableWebMvc
public class MvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry
                .addResourceHandler("/js/**")
                .addResourceLocations("/js/");

    }
}  

当应用程序启动时,我可以在日志中看到:
Mapped URL path [/js/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]

尝试:

  1. .addResourceLocations();我尝试了各种变体,例如: "/resources/js""resources/js""/js""js"
  2. 同样在application.properties使用spring.resources.static-locations=classpath:/resources/
  3. 创建/resources/static/js/a.js并相应地更新addResourceLocatios参数
  4. 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您需要将a.js文件放在静态文件夹中。我在下面附上了文件夹结构:

enter image description here

同时删除MvcConfig,因为不需要。