• 使用@ResponseBody返回JSON数据


    创建一个项目,在web目录下新建一个assets/js目录,加入jquery和json2的js文件,在lib下加入fastjson的jar文件。

    Book3Controller

    package com.wen.controller;
    
    import com.wen.domain.Book;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    import java.util.ArrayList;
    import java.util.List;
    
    @Controller
    public class Book3Controller {
        @RequestMapping(value = "/test3RequestBody")
        //@ResponseBody会将集合数据转换成json格式并将其返回给客户端
        @ResponseBody
        public Object getJson(){
            List<Book> bookList = new ArrayList<>();
            bookList.add(new Book(1,"小猪猪","xiaoxiaorui"));
            bookList.add(new Book(2,"小猫咪","xiaoxiaorui"));
            return bookList;
        }
    }
    

    index.jsp

    <html>
    <head>
        <title>测试返回JSON格式的数据</title>
        <script type="text/javascript" src="assets/js/jquery.js"></script>
        <script type="text/javascript" src="assets/js/json2.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                testResponseBody();
            });
    
            function testResponseBody() {
                $.ajax({
                        dataType: "json",//预期服务器返回的数据类型
                        type: "post",//请求方式post 或 get
                        url: "${pageContext.request.contextPath}/test3RequestBody",//发送请求的URL字符串
                        contentType: "application/json",//发送信息至服务器时的内容编码格式
                        async: true,//默认设置下,所有请求均为异步请求。如果设置为false,则发送同步请求
                        success: function (data) {//请求成功的回调函数
                            $.each(data,function () {
                                var tr=$("<tr align='center'/>");
                                $("<td/>").html(this.id).appendTo(tr);
                                $("<td/>").html(this.name).appendTo(tr);
                                $("<td/>").html(this.author).appendTo(tr);
                                $("#book-table").append(tr);
                            })
                        },
                        error: function () {
                            alert("数据加载失败")
                        }
                    })
            }
        </script>
    </head>
    <body>
    <table id="book-table" border="1" style="border-collapse: collapse">
        <tr align="center">
            <th>编号</th>
            <th>书名</th>
            <th>作者</th>
        </tr>
    </table>
    </body>
    </html>
    
    

    因为spring中,我们使用的是fastjson处理json数据,因此还需要对springmvc-config.xml和web.xml进行一些其他配置,可以参考之前关于springmvc的文章。
    测试图

  • 相关阅读:
    获得随机数
    Android Studio中的神操作
    Android Studio中的神操作
    我的github首页
    我的github首页
    初步尝试kotlin
    初步尝试kotlin
    创建自己的github博客
    js方法重载
    【HPU】[1014]【C语言训练】亲密数
  • 原文地址:https://www.cnblogs.com/guowenrui/p/10363591.html
Copyright © 2020-2023  润新知