【springboot 入门篇】第3篇 从controller开始学起
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【springboot 入门篇】第3篇 从controller开始学起相关的知识,希望对你有一定的参考价值。
参考技术A在写web项目的时候,controller里的返回值一般分为两种,一种是返回页面,也就是ModeAndView,另一种是直接返回数据,比如json格式的数据。
返回一个页面,我们需要用到一些模板引擎,比如熟知的jsp,模板引擎后面会详细讲解。
返回数据一般会选择返回json数据,我们之前的demo项目中使用的@RestController就是一个返回数据的注解。
spring-boot 支持多种模版引擎包括:
我们在讲前后端分离之前,都会使用Thymeleaf模板引擎,先简单的介绍一下它。
Thymeleaf是一个java类库,它是一个xml/xhtml/html5的模板引擎,可以作为mvc的web应用的view层。
Thymeleaf还提供了额外的木块与spring mvc集成,所以使用ssm框架的也可以使用这个模板引擎。
接下来,我们通过一个项目,来实践一下两种不同的返回结果。
先看一下最终的目录结构:
这里我们使用了Thymeleaf模板引擎来获得后台传来的数据并解析,使用bootstrap框架显示数据。可以看到,Thymeleaf的用法和jsp还是有点像的。可以直接通过$的形式来获得attribute中的数据。
可以看到,我们成功的在前端获取到了数据。方式就是将数据保存在attribute中,然后再前端页面获取。
我们修改了注解,发现结果变了,直接显示了“index”,是因为@RestController会直接返回数据,而不是渲染页面,所以直接返回了index(这个index,是return语句中的)
访问 http://localhost:8080/person
获得了json格式的数据
访问 http://localhost:8080/persons
列表也可以直接渲染为json。
访问 http://localhost:8080/person
访问 http://localhost:8080/persons
会发现这两个都报错了,因为@Controller注解是渲染视图的,而我们返回的是对象或者集合,不能完成正常的渲染。
本文主要讲解了spring boot 如何渲染视图和数据,讲解了@Controller和@RestController的区别与用法。如果有什么疑问,请及时联系我。
我之前写过一个重新认识java系类(还没写完,会写完的。。),篇幅很长,每一篇文章多的有7、8千字,和多人抱怨说看到一半就不想看了,因为太长了,所以 spring boot 这个系类会尽量的短小精悍,每篇文章只讲一个知识点,这样看着不累~
Spring Boot 2从入门到入坟 | 请求参数处理篇:REST映射的使用
在本讲,我会给大家详细讲解Spring Boot在底层使用Spring MVC进行Web开发的一些细节。当然,由于本人水平有限,所以讲解难免会有错漏之处,若有则请及时指出,我会虚心接受大家的建议,并及时改正!
Spring Boot在底层使用Spring MVC进行Web开发的第一个细节就是关于请求参数的处理,这个细节真是太重要了,所以我将会花费大量篇幅来对该细节进行讲解,尤其是关于其内部的底层原理,你将会看到史上最详细、最细心的讲解,渗透到你肌肤的每一层,让你从灵魂深处一直高潮!接下来,就请大家拭目以待吧
以上是关于【springboot 入门篇】第3篇 从controller开始学起的主要内容,如果未能解决你的问题,请参考以下文章
springboot 入门篇第1篇 第一个spring-boot程序(多种搭建方式)
Spring Boot 2从入门到入坟 | 配置文件篇:yaml语法详解
Spring Boot 2从入门到入坟 | Best practices篇:Spring Initailizr的使用
Spring Boot 2从入门到入坟 | 请求参数处理篇:REST映射的使用