2016-08-17 72 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