博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC系列教程——10接收与响应json数据格式
阅读量:3959 次
发布时间:2019-05-24

本文共 2217 字,大约阅读时间需要 7 分钟。

SpringMVC系列教程——10接收与响应json数据格式

本章我们讲解@ResponseBody@RequestBody两个注解。需要继续导入jar

链接:https://pan.baidu.com/s/1OR-s_JjYsNkCZX7khZCW2Q

提取码:rfug

文章目录

一.简介

@ResponseBody把后台pojo转换json对象,返回到页面。

@RequestBody接受前台json数据,把json数据自动封装javaBean。

二.应用

1.添加数据格式转换配置

首先我们需要将DispatcherServlet-servlet.xml里面配置适配器的时候加上下面配置。
在这里插入图片描述
红框内容如下:

2.创建StudentController

@Controller@RequestMapping("stu")public class StudentController {
@RequestMapping("register") public String toReg(){
return "student/register"; } @RequestMapping("save") public String save(Student stu, Model model){
model.addAttribute("stu",stu); System.out.println(stu); return "student/StudentInfo"; }}

3.创建Student类

public class Student {
public String getName() {
return name; } public void setName(String name) {
this.name = name; } public int getNumber() {
return number; } public void setNumber(int number) {
this.number = number; } @Override public String toString() {
return "Student{" + "name='" + name + '\'' + ", number=" + number + '}'; } private String name; private int number;}

4.可以提交json数据的jsp页面register.jsp

推荐文章:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>    注册学生档案        
姓名:
学号:

5.注册成功后的StudentInfo.jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>    注册成功姓名:${stu.name}
学号:${stu.number}

接下来我们访问http://localhost:8080/stu/register.do

在这里插入图片描述
结果:
在这里插入图片描述
在这里插入图片描述
结果我们发现输出的stu对象的各个属性为null,并且弹出错误。我们分析一下,我们在点击提交后,我们的json格式的字符串{name:“jack”,number=123456}被传送到save()方法,但是我们的Student对象没法成功转化,因此其属性被注入空,从而引起了错误。

@RequestMapping("save") public String save(Student stu, Model model){
model.addAttribute("stu",stu); System.out.println(stu); return "student/StudentInfo"; }

我们需要这样做:

在这里插入图片描述
@RequestBody可以把json数据转成模型对象(即Student对象)
我们再次测试:
在这里插入图片描述

在这里插入图片描述

那么接下来@ResonseBody的作用就是把把对象转换为json对象返回客户端。
save()方法修改为下面内容:
在这里插入图片描述
再次测试:
在这里插入图片描述
上面是[Object,Objiect],如果想打印json格式,可以这么做
在这里插入图片描述
这里需要注意一下:发送数据的时候需要JSON.stringfy来转换一下为json格式,否则报错,而返回的时候是对象,要想打印json格式也需要JSON.stringfy来转换一下为json格式。

转载地址:http://sxlzi.baihongyu.com/

你可能感兴趣的文章