SpringMVC中使用@ResponseBody注解标注业务方法,将业务方法的返回值做成json输出给页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC中使用@ResponseBody注解标注业务方法,将业务方法的返回值做成json输出给页面相关的知识,希望对你有一定的参考价值。

导包:

除了一些spring的包之外,还需要jackson-annotations.jar , jackson-core.jar , jackson-databind.jar 这三个包

 

开启@ResponseBody注解:

在 spring-mvc.xml 中通过<mvc:annotation-driven />开启@ResponseBody注解

 

使用@ResponseBody标注业务方法

package com.loger.controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.loger.entity.User;

/**
 * ResponseBody 注解,可以将如下类型的数据做成json:
 * 1)基本数据类型,如 boolean , String , int 等
 * 2) Map 类型数据
 * 3)集合或数组
 * 4)实体对象
 * 5)实体对象集合
 *
 */

@Controller
@RequestMapping("/test")
public class JsonController {

    @RequestMapping("test1.do")
    @ResponseBody
    public boolean test1(){
        return true;
    }
    
    @RequestMapping("/test2.do")
    @ResponseBody
    public Map<String, Object> test2(){
        Map<String , Object> map = new HashMap<String ,Object>();
        map.put("id", "s20070");
        map.put("name", "郑城斌");
        return map;
    }
    
    @RequestMapping("/test3.do")
    @ResponseBody
    public List<String> test3(){
        List<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        return list;
    }
    
    @RequestMapping("/test4.do")
    @ResponseBody
    public User test4(){
        User user = new User();
        user.setId("s20068");
        user.setName("余清波");
        user.setAge(21);
        return user;
    }
    
    @RequestMapping("/test5.do")
    @ResponseBody
    public List<User> test5(){
        List<User> list = new ArrayList<>();
        
        User user1 = new User();
        user1.setId("s200681");
        user1.setName("余清波1");
        user1.setAge(21);
        list.add(user1);
        
        User user2 = new User();
        user2.setId("s200682");
        user2.setName("余清波2");
        user2.setAge(21);
        list.add(user2);
        
        User user3 = new User();
        user3.setId("s200683");
        user3.setName("余清波3");
        user3.setAge(21);
        list.add(user3);
        
        return list;
    }
}

 

输出结果:

技术分享

技术分享

技术分享

技术分享

技术分享

 

以上是关于SpringMVC中使用@ResponseBody注解标注业务方法,将业务方法的返回值做成json输出给页面的主要内容,如果未能解决你的问题,请参考以下文章

SpringMVC中使用@ResponseBody注解标注业务方法,将业务方法的返回值做成json输出给页面

SpringMVC 使用@ResponseBody返回json 中文乱码

SpringMVC 使用@ResponseBody返回json 中文乱码

在SpringMVC中使用@RequestBody和@ResponseBody注解处理json时,报出HTTP Status 415的解决方案

springMVC使用@ResponseBody返回json

springmvc @responsebody json字符编码