日期:2014-05-17  浏览次数:20742 次

struts2怎么接收json集合?
//前台是不是这样子传?
function getData(){ 
//var jsonObj=new Array();
var list_mi;
var tables = document.getElementById("items_tabl");   
for(var i=2;i<tables.rows.length-1;i++)   
{   var item="";
    var temp=new Array(7);
    for(var j=0;j<tables.rows[i].cells.length-1;j++)   
    {   
        //alert(tables.rows[0].cells[j].innerHTML );  
        //employees=tables.rows[i].cells[j].children[0].value ; 
       // item=[{maintainItem:"",quantity:0,outPrice:0,inPrice:0,unit:"",sum:0,remarks:""}];
        temp[j]=tables.rows[i].cells[j].children[0].value ;               
    };     
    list_mi=[{maintainItem:temp[0],quantity:parseInt(temp[1]),outPrice:parseFloat(temp[2]),inPrice:parseFloat(temp[3]),unit:temp[4],sum:parseInt(temp[5]),remarks:temp[6]}];   
    list_mi.push(item); 
};

$.ajax({
  type: "POST",
  url: "maintainList_add_items.action",
data: list_mi,
dataType:"json",
success: function(msg){
alert(msg);}
});



这样传值能不能? 然后在struts2 action那里怎么接收?

public void add_items()
{
            //这里的代码怎么接收前台传过来的数据?求贴出这里的代码
    System.out.print("执行add_items方法。");
}

------解决方案--------------------
json就是一个字符串,可以使用JSON类,如fastjson提供的方法解析json数据

------解决方案--------------------
JSONArray.fromObject(list_mi2)应该可以,或者
JSON.parseArray(str)

关键是你先打印出来list_mi2是否是真的json格式