使用struts2将一个arraylist从jsp传递给action类

时间:2012-11-08 08:14:02

标签: jqgrid struts2

我有一个带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是列表,它从数据库中检索值并来自另一个操作类。

1 个答案:

答案 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);