2016-08-17 3 views
0

Ich möchte Spring Boot Web-Anwendung erstellen.Spring Boot Mapping statische HTML

Ich habe zwei statische HTML-Dateien: one.html, two.html.

Ich möchte, dass sie zur Karte wie folgt

localhost:8080/one 
localhost:8080/two 

ohne Template-Engines (Thymeleaf).

Wie geht das? Ich habe versucht, viele Möglichkeiten, das zu tun, aber ich habe 404 Fehler oder 500 Fehler (Circular View-Pfad [one.html]: würde zurück an die aktuelle Handler-URL).

OneController.java ist:

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

Projektstruktur ist

enter image description here

Antwort

4

Bitte aktualisieren Sie Ihre WebMvcConfig und schließen Sie UrlBasedViewResol ein ver und/static resource handler. Meine WebConfig-Klasse sieht folgendermaßen aus:

@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; 
    } 

} 

Ich habe es überprüft und scheint zu funktionieren.

Maciejs Antwort basiert auf der Umleitung des Browsers. Meine Lösung gibt ohne Browserinteraktion statische Daten zurück.

+0

Wow, du bist großartig, das funktioniert. Vielen Dank! – megasoch

+0

Dies ist der beste Weg, dies zu lösen –

1

Wenn Sie nicht über zusätzliche Browser Pflege leite Sie diese verwenden können:

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

Funktioniert auch, danke! – megasoch

Verwandte Themen