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?
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
.
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