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

时间:2017-06-05 17:00:35

标签: spring thymeleaf spring-webflux

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

  • / META-INF /资源/
  • /资源/
  • /静态/
  • /公共/

我决定使用第二个示例,因此我的css文件位于/ resources / static / css /中。但是在加载我的页面后,找不到.css文件。 这是我的IDE的截图: IDE view

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

Css文件加载如下:

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

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

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

任何想法在这里有什么问题?

1 个答案:

答案 0 :(得分:0)

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

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

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

:classpath/static