JavaWeb的list怎么生成json并传输在页面

JavaWeb的list怎么生成json并传输在页面

list在得到数据库的数据后怎么传输到页面上

public JSONArray getM(String Date){
        List<baseModel> list = gmd.getMessagedao(Date);//从数据库得到数据的方法
        JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(list));
        //System.out.println(jsonArray.get(1));
        return jsonArray;
    }

此时得到一个返回JSONARRAY集合的一个函数

在controller层里:

 @RequestMapping("/getMessage")
    public void findUsers(HttpServletResponse resp,HttpServletRequest rest) throws Exception{
        resp.setCharacterEncoding("utf-8");
        String s1 = rest.getParameter("Date");
        PrintWriter respWriter = resp.getWriter();
        //System.out.println(gm.getM().toJSONString());
        respWriter.append(gm.getM(s1).toJSONString());
    }

在页面

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script>
        var obj;
        function loadXMLDoc()
        {
            var reg = /^(\d{4})-(\d{2})-(\d{2})$/;
            var str1 = document.getElementById("Date").value;
            var arr = reg.exec(str1);

            if (str1 == "") {

                alert("请输入日期");

            }
            else if (!reg.test(str1) && RegExp.$2 <= 12 && RegExp.$3 <= 31) {
                alert("请保证输入的为yyyy-mm-dd日期格式");
            } else {
                var xmlhttp;
                if (window.XMLHttpRequest) {
                    //  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
                    xmlhttp = new XMLHttpRequest();
                } else {
                    // IE6, IE5 浏览器执行代码
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.onreadystatechange = function () {
                    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                        obj = eval(xmlhttp.responseText); 
                        alert(obj[0].loc_wms);
                        var div1=document.getElementById("myDiv");
                        var tab="<table border='1' bordercolor='blue'>";
                        //循环行
                        tab+="<tr>";
                          tab+="<td>库位</td>";
                          tab+="<td>sku</td>";
                          tab+="<td>数量</td>";
                          tab+="<td>lotatt03</td>";
                          tab+="<td>lotatt04</td>";
                          tab+="<td>lotatt05</td>";
                          tab+="<td>lotatt06</td>";
                          tab+="<td>lotatt07</td>";
                          tab+="<td>lotatt08</td>";
                          tab+="<td>lotatt09</td>";
                        tab+="</tr>";
                        for(var i=0;i<obj.length;i++)
                        {
                            tab+="<tr>";
                                tab+="<td>"+obj[i].loc_wms+"</td>";
                                tab+="<td>"+obj[i].sku+"</td>";
                                tab+="<td>"+obj[i].qty+"</td>";
                                tab+="<td>"+obj[i].lotatt03+"</td>";
                                tab+="<td>"+obj[i].lotatt04+"</td>";
                                tab+="<td>"+obj[i].lotatt05+"</td>";
                                tab+="<td>"+obj[i].lotatt06+"</td>";
                                tab+="<td>"+obj[i].lotatt07+"</td>";
                                tab+="<td>"+obj[i].lotatt08+"</td>";
                                tab+="<td>"+obj[i].lotatt09+"</td>";
                            tab+="</tr>";
                        }
                        tab+="</table>"
                        div1.innerHTML=tab;
                    }
                }
                xmlhttp.open("POST", "/getMessage", true);
                xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                xmlhttp.send("Date="+document.getElementById("Date").value);
            }
        }
    </script>
</head>
<body>
<input type="text" id="Date">
<button type="button" onclick="loadXMLDoc()">查找</button>      
<div id="myDiv"><h2></h2></div>
</body>
</html>

obj = eval(xmlhttp.responseText); 是主要的接受后台传到前台JSON的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值