2017-06-05 154 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--所以你必須使用快照版本或里程碑?究竟是什麼? –