本文主要是介绍Struts2与jqGrid的参数传递,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近,在项目中用到了jqGrid进行数据的显示。但是一直不明白数据是怎么进行传递的。在jqGrid中,参数rowNum定义了每页显示多少行数据,而在Action中则使用rows属性定义了每页中显示的数据行数。所以,一直不明白两个参数是怎样联系的。
今天,在网上找到了合理的解释。jqGrid中PrmNames选项用于设置jqGrid将要向Server传递的参数名称。默认情况下包含rows:"rows",第一个rows从rowNum取值,第二个rows表示向Server传递数据时,使用的参数名为" rows "。因此才会将rowNum的值传递给了Server中的rows属性。
如果PrmNames选项中修改为rows:"pageSize",那么会将rowNum的数据值使用pageSize参数向Server进行传递,相应的Action中也就需要pageSize属性接收每页显示的数据行数了。
下面贴上prmNames选项和jsonReader选项的相关参数说明。prmNames : { page:"page", // 表示请求页码的参数名称 rows:"rows", // 表示请求行数的参数名称 sort: "sidx", // 表示用于排序的列名的参数名称 order: "sord", // 表示采用的排序方式的参数名称 search:"_search", // 表示是否是搜索请求的参数名称 nd:"nd", // 表示已经发送请求的次数的参数名称 id:"id", // 表示当在编辑数据模块中发送数据时,使用的id的名称 oper:"oper", // operation参数名称 editoper:"edit", // 当在edit模式中提交数据时,操作的名称 addoper:"add", // 当在add模式中提交数据时,操作的名称 deloper:"del", // 当在delete模式中提交数据时,操作的名称 subgridid:"id", // 当点击以载入数据到子表时,传递的数据名称 npage: null, totalrows:"totalrows" // 表示需从Server得到总共多少行数据的参数名称,参见jqGrid选项中的rowTotal
}
jsonReader用于设置如何解析从Server获取的json数据。
jsonReader : { root: "rows", // json中代表实际模型数据的入口,也就是Action中数据列表的名称 page: "page", // json中代表当前页码的数据 total: "total", // json中代表页码总数的数据 records: "records", // json中代表数据行总数的数据 repeatitems: true, // 如果设为false,则jqGrid在解析json时,会根据name来搜索对应的数据元素(即可以json中元素可以不按顺序);而所使用的name是来自于colModel中的name设定。 cell: "cell", id: "id", userdata: "userdata", subgrid: { root:"rows", repeatitems: true, cell:"cell" }
}
参考文章:http://blog.csdn.net/lijiangjava/article/details/52170106
这篇关于Struts2与jqGrid的参数传递的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!