3

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

  • /META-INF/资源/
  • /资源/
  • /静止的/
  • /上市/

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

我没有为静态目录提供我自己的配置,我只想使用默认目录。可能重要的是模板从 /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);
}

有什么想法吗?

4

1 回答 1

1

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

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

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

:classpath/static
于 2017-06-05T21:06:09.373 回答