Spring mvc 该如何接收这种参数?

2015-06-29 17:36:18 +08:00
 letitbesqzr
columns[0][data]:id
columns[0][name]:
columns[0][searchable]:true
columns[0][orderable]:true
columns[0][search][value]:
columns[0][search][regex]:false
columns[1][data]:patientMember_person_name
columns[1][name]:
columns[1][searchable]:true
columns[1][orderable]:true
columns[1][search][value]:
columns[1][search][regex]:false

自己尝试了几个方式都不行

public class TableEntity implements Serializable {
    private static final long serialVersionUID = -2771316929044285912L;
    private List<Map<String, String>> columns = new ArrayList<Map<String, Object>>();
    private List<Map<String,Map<String,String>>> columns
}
2952 次点击
所在节点    Java
16 条回复
saximoer
2015-06-29 18:18:44 +08:00
你这是个二维数组?
JSON 大法试试看呢?
hitsmaxft
2015-06-29 20:52:42 +08:00
http传这种参数本身就是很糟糕的策略,框架怎么也不会考虑这么无聊的设定。。

你怎么怎么看都是用 post 传表单的场景
letitbesqzr
2015-06-29 20:55:26 +08:00
@saximoer
@hitsmaxft
是的..但这是datatables默认的方法...看来只有自己去写方法解析了...
BuilderQiu
2015-06-29 21:07:24 +08:00
我下午就在segmentfault上回答了。那应该就是答案之一
lytofb
2015-06-29 21:17:40 +08:00
应该需要自己写吧。。话说这种表单不是非常常见的需求么,不知道为什么没有对应
slixurd
2015-06-29 21:32:08 +08:00
Spring MVC是可以接受数组的
@RequestParam(value='columns[]')
对于表单来说这样会简单不少,但是还是推荐AJAX传JSON。
jelinet
2015-06-30 10:49:00 +08:00
哈哈哈哈哈。楼主你这是datatable吧?
jelinet
2015-06-30 10:50:08 +08:00
我前几天用struts接也闹心来着。。后来我把他们从js也干掉了。。。
easongfan
2015-06-30 11:22:05 +08:00
@RequestBody MultiValueMap<String, String> parametresAjax
letitbesqzr
2015-06-30 13:00:00 +08:00
@easongfan 会有莫名其妙的问题... 一会list转换异常 改成object 又说什么number异常
letitbesqzr
2015-06-30 13:00:43 +08:00
@slixurd 没办法控制...datatables 的
letitbesqzr
2015-06-30 13:01:28 +08:00
@jelinet 还是决定自己写个方法赋值吧..
jelinet
2015-06-30 14:02:13 +08:00
@letitbesqzr 跟你一样。都是类型转换错误。我曾试图写了一个类接受,但,总报错,一怒之下,干掉了。
samzh
2015-06-30 14:03:04 +08:00
所以涉及前后端在HTTP上的交互,都是字符串。
所以用数组接收本身就是个错误。
letitbesqzr
2015-06-30 14:29:05 +08:00
@jelinet
实在没办法了...自己写个方法处理吧...
https://gist.github.com/sqzr/a57f4d3b16002bb1a8e2
zonghua
2015-07-02 22:06:37 +08:00
@letitbesqzr 好像没有异常处理?我之前一个问卷的选项也是直接弄了一个List

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/201974

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX