2012-11-08 73 views
1

我有一个jqgrid与jqgrid页面我想将该网格数据传递给动作class.I编辑jqgrid数据使用cellEdit,现在我想传递这个新的数据到动作类在数据库中更新此数据。如何将jqgrid数据从jsp传递给动作类?从jsp传递一个ArrayList到动作类使用struts2

<sjg:grid id="gridtable" caption=" " dataType="json" 
       href="%{listurl}" 
       gridModel="listMS_AUTONUMBER" 
          cellEdit="true" 
        cellurl="%{cellediturl}"> 

<sjg:gridColumn frozen="false" name="autonumberCd" index="autonumberCd" title="%{getText('autonumber.autonumbercode')}" 
        sortable="true" search="true" editable="true" key="true" editoptions="{maxlength :2}" 
        editrules="{required:true,custom:true,custom_func:validateCapitalAlphanumeric}" formatter="String" formoptions="{elmsuffix:' *'}"/>  

       <sjg:gridColumn name="autonumberNm" index="autonumberNm" title="%{getText('autonumber.autonumbername')}" 
        sortable="true" editable="true" edittype="text" editrules="{required:true}" editoptions="{maxlength :10}" formoptions="{elmsuffix:' *'}" />   

       <sjg:gridColumn name="nextAutonumber" index="nextAutonumber" title="%{getText('autonumber.nextautonumber')}" 
        sortable="true" editable="true" edittype="text" editrules="{required:true,custom:true,custom_func:validateNumericOnly}" editoptions="{maxlength :10}" align="right" formoptions="{elmsuffix:' *'}" />      
      </sjg:grid> 

这是我的jqGrid其中listMS_AUTONUMBER是从数据库中获取价值,从另一个Action类来列表。使用提醒我在字符串格式显示的jqGrid的数据

var data=jQuery("#gridtable").jqGrid('getRowData');  //this method gets all the data from grid 
var postData = JSON.stringify(data);   //using json stringify convert the data in string format 
alert(postData); 

+0

是什么样的你在jqgrid中使用的格式是什么? JSON?你应该发布代码,这样人们可以更好地理解你 – Jaiwo99

回答

2

从JSP中我使用JSON如下动作类传递jqGrid的数据。

后,我通过AJAX发送这个数据到动作类,如下所示:

$.ajax({ 
     type: "Get", 
    url: "action_name?AutoList="+postData, 
    data : { 
      jgGridData: postData, 
     }, 
    dataType:"json", 
    contentType: "application/json; charset=utf-8", 
}); 

在此之后的动作类,这个字符串转换成JSON格式如下:

JSONArray outerArray = (JSONArray) JSONSerializer.toJSON(AutoList); 
相关问题