博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Springboot系列(一)同属性名多对象处理
阅读量:4043 次
发布时间:2019-05-24

本文共 1987 字,大约阅读时间需要 6 分钟。

  在开发过程中我们经常会遇到表单提交数据时,具有相同属性名的两个对象。

先创建两个对象,用户和产品

public class User {    private Integer id;    private String name;    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }}

     

public class Product {    private Integer id;    private String productName;    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public String getProductName() {        return productName;    }    public void setProductName(String productName) {        this.productName = productName;    }}

在使用springmvc的时候对于具有相同属性两个bean提交数据是,我可以在后台Controller中增加InitBinder对前端传递的参数进行绑定

@InitBinder("user")    public void initUser(WebDataBinder binder){        binder.setFieldDefaultPrefix("user.");    }    @InitBinder("product")    public void initProduct(WebDataBinder binder){        binder.setFieldDefaultPrefix("product.");    }

后台使用下面代码获取参数即可

@RequestMapping(value = "sava")    @ResponseBody    public String sava(User user,Product product){        return user.toString()+" "+product.toString();    }

前台传递参数是对应使用后端 InitBinder 中prefix作为前缀即可

这样在后端Controller就可以获取对应用户id为1的张三购买产品id为100的火箭

 

在spingboot中如果需要用到上面方式进行参数传递就需要自己在封装一次bean

public class BeanForm {    private User user;//对象名称必须和前端的控件name的前缀名称一致    private Product product;    public User getUser() {        return user;    }    public void setUser(User user) {        this.user = user;    }    public Product getProduct() {        return product;    }    public void setProduct(Product product) {        this.product = product;    }}
改造一下spingboot的Controller
@RequestMapping(value = "save")    @ResponseBody    public String save(BeanForm beanForm){        return beanForm.getUser().toString()+" "+beanForm.getProduct().toString();    }

 

 

 

转载地址:http://gqmdi.baihongyu.com/

你可能感兴趣的文章
iphone开发基础之objective-c学习
查看>>
iphone开发之SDK研究(待续)
查看>>
计算机网络复习要点
查看>>
Variable property attributes or Modifiers in iOS
查看>>
NSNotificationCenter 用法总结
查看>>
C primer plus 基础总结(一)
查看>>
剑指offer算法题分析与整理(一)
查看>>
剑指offer算法题分析与整理(三)
查看>>
Ubuntu 13.10使用fcitx输入法
查看>>
pidgin-lwqq 安装
查看>>
mint/ubuntu安装搜狗输入法
查看>>
C++动态申请数组和参数传递问题
查看>>
opencv学习——在MFC中读取和显示图像
查看>>
retext出现Could not parse file contents, check if you have the necessary module installed解决方案
查看>>
Matlab与CUDA C的混合编程配置出现的问题及解决方案
查看>>
如何将PaperDownloader下载的文献存放到任意位置
查看>>
C/C++中关于动态生成一维数组和二维数组的学习
查看>>
JVM最简生存指南
查看>>
Java的对象驻留
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>