相信很多朋友都有过对于客户端传过来的数据进行一个一个的get对应 的值,然后再进行set到对象的属性制造进行赋值。如果少数几个属性赋值,也许还好,但是如果是上百个属性,你操作给我看看,这太操蛋了(不好意思,不文明用言哈哈)!不说代码优不优雅,就单纯在那里get/set,估摸着没多久就不耐烦了吧!!! 现在笔者给大家带来了一个极速操作,感觉好用的,给个鼓励。没错,一句代码解决!!!
原始操作:
// 获取 ActionForm 表单数据
UserActionForm uForm = (UserActionForm) form;
// 构造一个User对象
User user = new User();
// 逐一赋值
user.setUsername(uForm.getUsername);
user.setPassword(uForm.getPassword);
user.setAge(uForm.getAge);
...........
...........
...........
解决方案:
// 获取 ActionForm 表单数据
UserActionForm uForm = (UserActionForm) form;
// 构造一个User对象
User user = new User();
// 赋值
BeanUtils.copyProperties(user, uForm);
//接下来就可进行自己想进行的操作了,以上就把客户端传过来的数据都赋值到了 user 的字段属性了
核心代码:
BeanUtils.copyProperties("这里填的是要赋值的对象", "这里是客户端传过的对象(具有数据)");
PS:
还有一种做法,就是PropertyUtils.copyProperties("要转换的类", "转换后的类");
这种做法和上面的区别是:上面的会自动进行类型的转换!