提问者:小点点

Spring Web Flux无法解析静态内容的路径


我正在使用Spring Boot 2.0.0 M1和WebFlux来构建我的示例Web应用程序。在成功使用RESTendpoint后,我决定向我的应用程序添加一些视图。我决定使用Thymeleaf 3. x版本。我知道Spring从4个默认位置提供静态内容:

  • /META-IN F/资源/
  • /资源/
  • /静态/
  • /public/

我没有为静态目录提供我自己的配置,我只想使用默认的配置。重要的是模板从 /resources/templates/目录加载得很好。

css文件是这样加载的:

<link data-th-href="@{css/bootstrap.min.css}" rel="stylesheet">

应用程序没有使用普通的Controller类,而是我提供了Bean函数来定义我的路由器:

@Bean
RouterFunction<?> router(final GeneratorHandler generatorHandler) {
    return route(GET("/generate"), handler::render);
}

知道这里怎么了吗?


共1个答案

匿名用户

我找到了正确的解决方案。在您的RouterFunction中,您需要使用:

return resources("/**", new ClassPathResource("/static/"))

这会将您的静态目录设置为:

:classpath/static