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的方法