zoukankan      html  css  js  c++  java
  • 控制器中组合参数的传递

    组合参数就是类对象参数数组和其他一些变量可能需要在前端通过拼接一个json字符串一次性传入过来,格式如下:

    控制器方法的定义如下:

    @PostMapping("/api/dic/saveDicFieldList")
    public String saveDicFieldList(@RequestBody List<Object> fieldlist)
    

    注意:对象参数必须要加 @RequestBody 声明,否则无法传递;

    然后在方法内部解析,比如获取 {"autoid":245,"moduleno":202},通过以下代码获取:

    //取出第0个元素(包含 autoid 和 moduleno)
            Object obj = fieldlist.get(0);
            String jsonstr= JSON.toJSONString(obj);
            JSONObject jobj = JSONObject.parseObject(jsonstr);
            String autoid = jobj.getString("autoid");
            String moduleno = jobj.getString("moduleno");
    

    遍历后面的对象数组,通过以下方法:

    //从第一个元素开始,循环保存每个字典属性
            for(int i=1;i<fieldlist.size();i++){
                Object obj_dtf = fieldlist.get(i);
                String jsonstr_dtf= JSON.toJSONString(obj_dtf);
                JSONObject jobj_dtf = JSONObject.parseObject(jsonstr_dtf);
    
                DicTypeField dtf = JSON.toJavaObject(jobj_dtf,DicTypeField.class);
                res = dtf.save();
            }
    

    把json对象转为类对象,要用JSON.toJavaObject来转换,不能直接用 (T)obj 的方式强制转化,否则会提示转换失败。(可能是我没找到方法)。

  • 相关阅读:
    SSLOJ 1338.逃亡路径
    文件上传与下载
    TCP协议和UDP协议
    DWR推技术在开发中需要注意的ScriptSession问题
    页面缓存-freemarker静态处理
    springMVC的工作流程
    hibernate的工作流程
    Struts2框架的大致流程
    mybatis中的多表查询
    传值乱码解决方案
  • 原文地址:https://www.cnblogs.com/lpq21314/p/13304542.html
Copyright © 2011-2022 走看看