返回多个list合集map于前台 js读取

来源:互联网 发布:js的display 编辑:程序博客网 时间:2024/06/04 23:26
在后台获取的多个list对象,加入合成一个map。
 Map list=new HashMap();
List tmpList=new ArrayList();
List tmpList2=new ArrayList();
.....数据插入tmpList......
list.put("list1", tmpList);
list.put("list2", tmpList2);

在action中读取map
TopicIndexSql tis = new TopicIndexSql();
Map res=tis.RightGrid(request);//
JSONObject j=JSONObject.fromObject(res);
out.print(j.toString());

返回前台ajax
$.ajax({
url: "<%=request.getContextPath()%>/TopicIndex.do?type=meter",
type:'post',
async: true,
success: function(data){
var res = JSON.parse(data);
var trend={"line":[{"color":"FF0000","displayvalue":"","startvalue":"95"}]};
var options1={"mdTheme":true,"max":100,"trend":trend,"labelDisplay":"WRAP"};
fChart("Line","myChart1","412","194","","",eval(res.list0),"leftChart_2",options1);
document.getElementById("hv_total_m").innerHTML=res.list1[0].TOTAL;
document.getElementById("hv_collect_m").innerHTML=res.list1[0].SUCC;
document.getElementById("hv_rate_m").innerHTML=res.list1[0].RATE;
document.getElementById("lv_total_m").innerHTML=res.list2[0].TOTAL;
document.getElementById("lv_collect_m").innerHTML=res.list2[0].SUCC;
document.getElementById("lv_rate_m").innerHTML=res.list2[0].RATE;
document.getElementById("zone_total_m").innerHTML=res.list3[0].TOTAL;
document.getElementById("zone_collect_m").innerHTML=res.list3[0].SUCC;
document.getElementById("zone_rate_m").innerHTML=res.list3[0].RATE;
var options2={"mdTheme":true,"max":100,"trend":trend,"min":90,"yName":"Successful Rate(%)"};
fChart("Column3D","myChart2","866","149","","",eval(res.list4),"bottomChart_2",options2);
}
});

将返回的data转化为json格式的数据集。主要形式如下{"list0":[{...},{...},{...}]}
获取时,使用经过转换的json数据集获取。res.list0。可以用for循环获取具体的属性res.list0[i].value
而对于只有单个的只需要res.list1[0].value(属性)



0 0
原创粉丝点击