2016-08-17 120 views
0

我想創建spring引導web應用程序。Spring引導映射靜態html

我有兩個靜態html文件:one.html,two.html。

我想將它們映射如下

localhost:8080/one 
localhost:8080/two 

不使用模板引擎(Thymeleaf)。

如何做到這一點?我嘗試了很多方法來做到這一點,但我有404錯誤或500錯誤(循環視圖路徑[one.html]:將分派回當前的處理程序URL)。

OneController.java是:

@Controller 
public class OneController { 
    @RequestMapping("/one") 
    public String one() { 
     return "static/one.html"; 
    } 
} 

項目結構是

enter image description here

回答

4

請更新您的WebMvcConfig幷包含UrlBasedViewResol ver和/靜態資源處理程序。 Mine WebConfig類看起來如下:

@Configuration 
@EnableWebMvc 
public class WebConfig extends WebMvcConfigurerAdapter { 

    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); 
     super.addResourceHandlers(registry); 
    } 

    @Bean 
    public ViewResolver viewResolver() { 
     UrlBasedViewResolver viewResolver = new UrlBasedViewResolver(); 
     viewResolver.setViewClass(InternalResourceView.class); 
     return viewResolver; 
    } 

} 

我檢查了它,似乎工作。

Maciej的回答基於瀏覽器的重定向。我的解決方案返回靜態沒有瀏覽器交互

+0

哇,你真棒,多數民衆贊成在工作。謝謝! – megasoch

+0

這是解決這個問題的最好方法 –

1

如果你不關心的其他瀏覽器重定向你可以使用這個:

@Controller 
public class OneController { 
    @RequestMapping("/one") 
    public String one() { 
     return "redirect:/static/one.html"; 
    } 
} 
+0

也適用,謝謝! – megasoch