gpt4 book ai didi

java - Spring MVC : Dynamic Param Name or Param Name using Regex?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:57:46 25 4
gpt4 key购买 nike

我正在试用这个名为 jQuery Bootgrid 的网格组件.在AJAX模式下,它POST参数到服务器,与排序相关的参数是这样发送的:

sort[colname]=desc

colname 部分根据您对网格的排序方式而变化。

在 Spring MVC 中有没有什么方法可以使用 @RequestParam 来捕获 sort 参数?

例如,像这样的东西:

@RequestParam("sort[{\\*}]") Map<String, String> sort

这只是一个疯狂的猜测,我怀疑是否有任何干净的方法来做到这一点。任何关于如何处理它的建议都会很棒。


更新:还尝试了这个我认为可能有用的更简单的版本

@RequestParam("sort") Map<String, String> sort

最佳答案

参见 bootgrid 论坛: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 Controller 中:

@RequestParam(value = "sortBy", required = false) final String sortBy,
@RequestParam(value = "sortDir", required = false) final String sortDir

不要忘记将这些参数标记为不需要,因为排序并不总是发布到服务器端。

关于java - Spring MVC : Dynamic Param Name or Param Name using Regex?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32361170/

25 4 0