我有一个带jqgrid的jsp页面我想将该网格数据传递给动作类。我正在使用cellEdit编辑jqgrid数据,现在我想将这个新数据传递给动作类来更新数据库中的这些数据。我怎么能将jqgrid数据从jsp传递给action class?
<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
是列表,它从数据库中检索值并来自另一个操作类。
答案 0 :(得分:2)
要将jqgrid数据从jsp传递给action类,我使用json,如下所示:
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);
使用警报我以字符串格式显示jqgrid的数据。
之后,我将通过AJAX将此数据发送到action类,如下所示:
$.ajax({
type: "Get",
url: "action_name?AutoList="+postData,
data : {
jgGridData: postData,
},
dataType:"json",
contentType: "application/json; charset=utf-8",
});
在动作类之后,将此String转换为json格式,如下所示:
JSONArray outerArray = (JSONArray) JSONSerializer.toJSON(AutoList);