我正在尝试这个名为的网格组件jQuery 引导网格 http://www.jquery-bootgrid.com/。在 AJAX 模式下,POST
s 参数发送到服务器,与排序相关的参数发送如下:
sort[colname]=desc
The colname
部分会根据您对网格的排序方式而变化。
Spring MVC 有什么办法使用@RequestParam
捕捉那个sort
param?
例如,类似:
@RequestParam("sort[{\\*}]") Map<String, String> sort
这只是一个疯狂的猜测,我怀疑是否有任何干净的方法可以做到这一点。任何有关如何处理它的建议都会很棒。
更新:还尝试了这个更简单的版本,我实际上认为它可能有效
@RequestParam("sort") Map<String, String> sort
请参阅 bootgrid 论坛:https://github.com/rstaib/jquery-bootgrid/issues/111 https://github.com/rstaib/jquery-bootgrid/issues/111
这确实很愚蠢,但因为无法解析服务器端的动态参数,所以您需要通过在 bootgrid 配置中定义 requestHandler 从排序参数创建新的请求参数,方法如下:
requestHandler: function (request) {
if (request.sort) {
request.sortBy = Object.keys(request.sort)[0]; //this only gets first sort param
request.sortDir = request.sort[request.sortBy];
delete request.sort
}
return request;
}
在 Spring 控制器中:
@RequestParam(value = "sortBy", required = false) final String sortBy,
@RequestParam(value = "sortDir", required = false) final String sortDir
不要忘记将这些参数标记为不需要,因为排序并不总是发布到服务器端。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)