在前端表单向后端控制器传参数的过程中,采用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);