2017-06-05 164 views
1

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

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

我我决定去第二个例子,所以我的CSS文件在/ resources/static/css /中。然而,加载我的网页.css文件后没有找到。 这是我的IDE截图: IDE view

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

CSS文件被加载这样的:

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

应用程序没有使用,而不是我提供的功能作为一个Bean正常控制器类来定义我的路由器:

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

任何想法有什么错这里?

+0

的可能的复制[如何使用服务静态Webflux内容?](https://stackoverflow.com/questions/43622053/how-to-serve-static-content-using-webflux) – wildloop

回答

0

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

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

这将设置您的静态目录:

:classpath/static 
+0

你准备使用哪种Spring Boot版本?最近事情在这方面发生了变化。 –

+0

Spring Boot 2.0 –

+0

这还不是GA--所以你必须使用快照版本或里程碑?究竟是什么? –