SpringMVC从Control中响应json数据

在页面上异步获取Controller中响应的json数据。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>User List</title>

<script type="text/javascript" src="${pageContext.request.contextPath}/resource/script/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $("#button_getUser").click(function(){
            //异步请求json数据
            $.ajax({
                type:"POST",
                url:"${pageContext.request.contextPath}/user/getUserList",
                success:function(data){
                    //迭代返回的json数据
                    $.each(data,function(i,user){
                        $("#results").append(user.userName+"---"+user.password+"<br>");
                    });
                },
                error:function(e) {
                    alert("出错:"+e);
                }
            });
        });
    });
</script>

</head>
<body>
    <input type="button" id="button_getUser" value="获取用户列表"><br>
    用户信息:<br>
    <div id="results">

    </div>
</body>
</html>

Controller中的代码:

@RequestMapping("/getUserList")
    public String getUserList(HttpServletResponse response) {
        response.setCharacterEncoding("UTF-8");
        response.setContentType("application/json");

        List<User> userList = getUsers();
        Gson gson = new Gson();
        String json = gson.toJson(userList);
        System.out.println("json---"+json);
        PrintWriter out = null;
        try {
            out = response.getWriter();
            out.write(json);
            out.flush();
        }catch(Exception e) {
            e.printStackTrace();
        }finally {
            if(out != null) {
                out.close();
            }
        }

        return "/user/userList";
    }

    private List<User> getUsers() {
        List<User> users = new ArrayList<User>();

        User user1 = new User();
        user1.setUserName("李坏");
        user1.setPassword("LiHuai");

        User user2 = new User();
        user2.setUserName("阿飞");
        user2.setPassword("aFei");

        User user3 = new User();
        user3.setUserName("陆小凤");
        user3.setPassword("LuXiaoFeng");

        users.add(user1);
        users.add(user2);
        users.add(user3);

        return users;
    }

或者使用@ResponseBody,需要用到jackson相关的包。

时间: 2024-10-20 11:12:41

SpringMVC从Control中响应json数据的相关文章

在mvc4.0中使用json数据

今天接触了mvc4.0项目,View中需要获取从Control传来的json数据.过程记录如下: 在 MVC 返回的ActionResult中,为我们提供了JSONResult(继承至ActionResult)对象,我们可以直接用他来返回JSON对象给View处理 将自定义的Model 实例传给Json方法,它会自动根据我们Model 的属性,遍历属性后生成JSON对象,返回View.然后就可以在前端使用JQ对JSON数据进行处理了 Control中的代码: public JsonResult

JMeter中对于Json数据的处理方法

http://eclipsesource.com/blogs/2014/06/12/parsing-json-responses-with-jmeter/ Json作为一种数据交换格式在网络开发,特别是Ajax与Restful架构中应用的越来越广泛.而Apache的JMeter也是较受欢迎的压力测试工具之一,但是它本身没有提供对于Json数据的响应处理.本文中假设需要从HTTP的响应头中返回的Json格式的数据流中抽取某些特定的数据,数据格式如下: { "name":"Sim

Spring接收和响应json数据

一.前言 关于什么是json以及基本使用技巧,为什么使用json等等,这里不再重复,直接进入主题 注:服务端接收json数据还原为java对象,称为反序列化,反之,将java对象作为响应转换为json数据发回给客户端,称为序列化 二.导入json相关框架的依赖(比如jackson) 如果使用的是spring boot框架,导入spring boot相关依赖后,就存在相关依赖,无需重复,否则会报错:   如果使用的是spring MVC框架,就需要手动导入相关依赖(比如Jackson),直接上代码

ASP.NET MVC 4 中的JSON数据交互

前台Ajax请求很多时候需要从后台获取JSON格式数据,一般有以下方式: 拼接字符串 return Content("{\"id\":\"1\",\"name\":\"A\"}"); 为了严格符合Json数据格式,对双引号进行了转义. 使用JavaScriptSerialize.Serialize()方法将对象序列化为JSON格式的字符串 MSDN 例如我们有一个匿名对象: var tempObj=new

android中对json数据的解析,并在listview中实际运用

android中对json数据的解析,并在listview中现实,下面是数据{"ziparea": "410100.0", "enddate": "2015-04-03 00:00:00", "ecertarea": "\u9053\u8def\u8d27\u7269\u8fd0\u8f93\u9a7e\u9a76\u5458", "ecertstate": &quo

在SQL 中生成JSON数据

这段时间接手一个数据操作记录的功能,刚拿到手上的时候打算用EF做,后来经过仔细考虑最后还是觉定放弃,最后思考再三决定: 1.以模块为单位分表.列固定(其实可以所有的操作记录都放到同一个表,但是考虑到数据量大的时候查询性能的问题还是分表吧)列:主键ID.引用记录主键ID.操作时间.操作类型.详细信息(里面存储的就是序列化后的值) 2.在客服端解析保存的序列化的值 但是用xml还是用json呢,这有是一个问题,显然用xml在存储过程正很容易就能生成了:SELECT * FROM TABLE FOR 

Android中解析Json数据

在开发中经常会遇到解析json的问题 在这里总结几种解析的方式: 方式一: json数据: private String jsonData = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]"; 解析jsonData的方法 try { //如果需要解析Json数据,首先要生成一个J

vue中引入json数据,不用本地请求

1.我的项目结构,需要在Daily.vue中引入daily.js中的json数据 2.把json数据放入一个js文件中,用exports导出,vscode的json格式太严格了,很多数据,调了一个多小时的格式................. 例如:daily.js module.exports = { 'tmbTmbsContent': [[ {'label': '123'} ]], } 2.在Daily.vue文件中引入 import Daily from '@/assets/data/da

python爬虫中涉及json数据的处理

在执行爬虫项目的过程中,有时返回的不是一个html页面而是json格式数据,此时对数据的解析非常重要. 1.Json格式数据的爬取   采用request对以上的url进行爬取: import  requests content=requests.get(url,headers=headers).content 在爬取的过程中,考虑到需要模拟真实的用户,因此需要添加cookie或者header参数. 2.对爬取的json格式数据的解析 数据已经爬取下来,存放在contend里面,接下来就是对数据