web-dev-qa-db-fra.com

Comment diffuser une page de contenu HTML statique dans Spring-Boot

Je démarre un Tomcat intégré via spring-boot et souhaitez diffuser une image statique index.html page dans le cadre d'une application en cours d'exécution.

Mais ce qui suit ne fonctionne pas:

@SpringBootApplication
public class HMyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}


@RestController 
public class HomeContoller {
    @RequestMapping("/")
    public String index() {
        return "index";
    }
}

src/main/resources/static/index.html

Résultat: quand j'appelle localhost:8080, Je vois juste le mot "index", mais pas ma page html. Pourquoi?

24
membersound

Ma faute: j'ai eu un cours supplémentaire avec @EnableWebMvc annotation. Cela a en quelque sorte gâché l'autoconfiguration de démarrage de printemps. Je l'ai supprimé et maintenant cela fonctionne en retournant index.html.

16
membersound

Pour moi, cela a fonctionné, je suis sûr qu'il existe une meilleure solution (comme sans .html).

@RequestMapping("/")
public String index() {
    return "index.html";
}

Vous pouvez utiliser ModelAndView afin de servir du contenu HTML statique dans Spring Boot.

@RequestMapping("/")
public ModelAndView home()
{
    ModelAndView modelAndView = new ModelAndView();
    modelAndView.setViewName("index");
    return modelAndView;
}

application.properties:-

spring.mvc.view.suffix = .html

Fichier HTML: - src/main/resources/static/index.html

0
Ankit Rawat