前端 - SpringMVC返回json串

查看:198
本文介绍了前端 - SpringMVC返回json串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

在用springmvc返回json串的时候,页面上只显示一个键值对,如图

目的是要获取这个样子的

{"text":"文本","flag":"文本"}

为什么会出现这种只有第一个键值对的情况。

contraller

import com.dcxm.stu.bean.Message;
import com.dcxm.stu.bean.Student;
import com.dcxm.stu.service.RegisterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;

@RestController
@RequestMapping("/student")
public class RegisterController {

    private Student student = new Student();

    @Autowired
    private RegisterService registerService;

    @RequestMapping(value = "/register")
    public Message register(HttpServletRequest request, Model model) {
        student.setTelphone("13245648");
        student.setPassword("123465");
        System.out.println(registerService.studentRegister(student));
        return registerService.studentRegister(student);
    }
}

在这个代码的末尾输出返回值任就是 正确的信息,但是在网页上显示就不真确了。

RegisterService

import com.dcxm.stu.bean.Message;
import com.dcxm.stu.bean.Student;
import com.dcxm.stu.dao.impl.RegisterDaoImpl;
import com.dcxm.stu.service.RegisterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class RegisterServiceImpl implements RegisterService {

    @Autowired
    private RegisterDaoImpl registerDao;

    public Message studentRegister(Student student) {
        String telphoneNew = student.getTelphone();
        System.out.println("new Tel " + telphoneNew);
        Message message = new Message();
        int row = registerDao.insertInfo(student);
        if (row == 1) {
            message.setText("注册成功");
            message.setFlag("true");
        } else {
            message.setText("电话号码已经被注册");
            message.setFlag("false");
        }
        return message;
    }
}

Message

public class Message {

    private String flag;
    private String text;

    public void setText(String text) {
        this.text = text;
    }

    public String getText() {
        return text;
    }
    
    public Message() {

    }

    public Message(String text, String flag) {
        this.flag = flag;
        this.text = text;
    }

    @Override
    public String toString() {
        return text + "   " + flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }
}

上面是问题代码。

后来我写了一个简单的测试

@RestController

public class StudentInfo {

    Student student = new Student();
    @RequestMapping("/test")
    public Student getStudentInfo(){
        student.setUsername("123");
        student.setPassword("123");
        student.setTelphone("123");
        //language=JSON
        return student;
    }
}

却能正确的返回json

{"username":"123","password":"123","telphone":"123"}

解决方案

Message缺少:

public String getFlag() {
    return flag;
}

这篇关于前端 - SpringMVC返回json串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆