V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
letitbesqzr
V2EX  ›  Java

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

  •  
  •   letitbesqzr · 2015-06-29 17:36:18 +08:00 · 3114 次点击
    这是一个创建于 3434 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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
    }
    
    16 条回复    2015-07-02 22:06:37 +08:00
    saximoer
        1
    saximoer  
       2015-06-29 18:18:44 +08:00   ❤️ 1
    你这是个二维数组?
    JSON 大法试试看呢?
    hitsmaxft
        2
    hitsmaxft  
       2015-06-29 20:52:42 +08:00   ❤️ 1
    http传这种参数本身就是很糟糕的策略,框架怎么也不会考虑这么无聊的设定。。

    你怎么怎么看都是用 post 传表单的场景
    letitbesqzr
        3
    letitbesqzr  
    OP
       2015-06-29 20:55:26 +08:00
    @saximoer
    @hitsmaxft
    是的..但这是datatables默认的方法...看来只有自己去写方法解析了...
    BuilderQiu
        4
    BuilderQiu  
       2015-06-29 21:07:24 +08:00   ❤️ 1
    我下午就在segmentfault上回答了。那应该就是答案之一
    lytofb
        5
    lytofb  
       2015-06-29 21:17:40 +08:00 via iPhone   ❤️ 1
    应该需要自己写吧。。话说这种表单不是非常常见的需求么,不知道为什么没有对应
    slixurd
        6
    slixurd  
       2015-06-29 21:32:08 +08:00   ❤️ 1
    Spring MVC是可以接受数组的
    @RequestParam(value='columns[]')
    对于表单来说这样会简单不少,但是还是推荐AJAX传JSON。
    jelinet
        7
    jelinet  
       2015-06-30 10:49:00 +08:00   ❤️ 1
    哈哈哈哈哈。楼主你这是datatable吧?
    jelinet
        8
    jelinet  
       2015-06-30 10:50:08 +08:00   ❤️ 1
    我前几天用struts接也闹心来着。。后来我把他们从js也干掉了。。。
    easongfan
        9
    easongfan  
       2015-06-30 11:22:05 +08:00
    @RequestBody MultiValueMap<String, String> parametresAjax
    letitbesqzr
        10
    letitbesqzr  
    OP
       2015-06-30 13:00:00 +08:00
    @easongfan 会有莫名其妙的问题... 一会list转换异常 改成object 又说什么number异常
    letitbesqzr
        11
    letitbesqzr  
    OP
       2015-06-30 13:00:43 +08:00
    @slixurd 没办法控制...datatables 的
    letitbesqzr
        12
    letitbesqzr  
    OP
       2015-06-30 13:01:28 +08:00
    @jelinet 还是决定自己写个方法赋值吧..
    jelinet
        13
    jelinet  
       2015-06-30 14:02:13 +08:00   ❤️ 1
    @letitbesqzr 跟你一样。都是类型转换错误。我曾试图写了一个类接受,但,总报错,一怒之下,干掉了。
    samzh
        14
    samzh  
       2015-06-30 14:03:04 +08:00
    所以涉及前后端在HTTP上的交互,都是字符串。
    所以用数组接收本身就是个错误。
    letitbesqzr
        15
    letitbesqzr  
    OP
       2015-06-30 14:29:05 +08:00
    @jelinet
    实在没办法了...自己写个方法处理吧...
    https://gist.github.com/sqzr/a57f4d3b16002bb1a8e2
    zonghua
        16
    zonghua  
       2015-07-02 22:06:37 +08:00
    @letitbesqzr 好像没有异常处理?我之前一个问卷的选项也是直接弄了一个List
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2936 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:45 · PVG 11:45 · LAX 19:45 · JFK 22:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.