关于springmvc pojo参数绑定“不成功”的一个原因

来源:互联网 发布:js鼠标轨迹 编辑:程序博客网 时间:2024/06/06 15:36

   在前端表单向后端控制器传参数的过程中,采用debug后发现pojo的属性值都是默认值,或null或0.0;在网上查了很多资料,呼声比较高的是po类没有get set方法,以及前端jsp页面包含 enctype="multipart/form-data" ,二进制传输会使pojo绑定为null,废话不多说看我的错误原因吧:

看debug控制台通过HttpServletRequest获取的pojo确实是没有参数,就误以为参数绑定没有成功,误认为前端传来的值就是默认数据类型值。

实际上,调用service的时候pojo类型就已经有值了,说明pojo的参数绑定我们已经绑定成功了,错误就出现在service的实现类上。

需要对修改的商品信息设置id,我犯二用了beanutil工具拷贝了item的属性,导致把扩展类的属性清空解决办法可以是不用utilbean和new items,也可以是在原实现类上改写如下,希望可以帮助那些mvc的初学者。

Items items = new Items();items.setId(id);BeanUtils.copyProperties(itemsCustomer,items);BeanUtils.copyProperties(items,itemsCustomer);itemsMapper.updateItems(itemsCustomer);