Spring Boot 中 Controller 返回HTML页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot 中 Controller 返回HTML页面相关的知识,希望对你有一定的参考价值。

参考技术A 由于Spring Boot 内嵌了 Tomcat 容器,所以不用把项目打成war包,再放到Tomcat中去运行。但是随之出现了个问题,基于Tomcat的Web应用都有一个 /webapp 目录来存放前端页面和静态资源等文件。那么Spring Boot中应该放在哪里呢?

如果你是用Spring Initializr新建的项目的话,那么当你打开项目,就会看到:

对, /resources 目录下已经存在了两个包:
/static 用来存放静态文件
/templates 用来存放前端页面

Ps:没有目录的话可以自己创建

我们写一个最简单的html页面,放在 /templates 下:

可能你注意到了,在 <html lang="zh-CN" xmlns:th="http://www.thymeleaf.org"> 中多了点东西,没关系,继续往下看。

我们写一个Spring MVC中最简单的Controller,用来返回hello.html:

然后通过Postman来测试一下接口:

可以看到报错了,错误提示说,可能是没有指定视图。

我们知道在传统的Tomcat Web应用里面,还需要配置web.xml与SpringMVC。

不过也太麻烦啦,所以Spring Boot就简化了这些配置,并且推荐使用Thymeleaf前端模板引擎。
前面提到的多了点东西也就是这个引擎的语法。

我用Gradle做依赖管理:

可以看到返回的就是hello.html

Thymeleaf语法也是个坑,有时间再去看看吧~

spring boot中Controller使用总结

首页的controller的一般写法

以上是关于Spring Boot 中 Controller 返回HTML页面的主要内容,如果未能解决你的问题,请参考以下文章

Spring boot中controller控制界面跳转

Spring Boot 中 Controller 使用

spring boot通过@Bean注解定义一个Controller

spring boot Controller中使用注解@RequestBody遇到的一个问题

Spring Boot 2.1.0 @Controller 不工作?

为啥必须在 spring-boot 中为 web 应用程序提供单独的 @Controller 类文件?