SpringMVC高级参数绑定

 集合类型的绑定

数组的绑定

  数组的绑定指的是前台传来多个同一类型的数据,我们在controller中使用数组形参来接收前台传来的数据。还是以案例来驱动这部分内容,比如现在我们要批量删除商品,那么我们需要勾选好几个商品,这些商品都有id号,在controller中,我们需要将这些id号全部获取并放到一个数组中,然后再根据数组中的id号挨个删除数据库中对应的项。那么该如何绑定呢?其实也很简单,如下: 
  
controller的方法定义为: 
SpringMVC高级参数绑定 

  对应前台传入的参数为: 
SpringMVC高级参数绑定 
 
 这样就能将前台传入的多个id绑定到数组中,然后我们就可以从数组中拿出要删除的商品的id了。

List的绑定

  通常在需要批量提交数据时,将提交的数据绑定到list<pojo>中,比如:成绩录入(录入多门课成绩,批量提交),在这里我们假设有需求:批量商品修改,在页面输入多个商品信息,将多个商品信息提交到controller方法中,即一次性更新多个商品信息。 
  
所以思路是在扩展类ItemsQueryVo中新添加一个List<ItemsCustom>,然后将不同商品的信息都存到这个List中,所以修改如下: 
SpringMVC高级参数绑定 

 

 controller方法的定义:

1、进入批量商品修改页面 
2、批量修改商品提交

  所以controller中应该有两个方法,如下: 
SpringMVC高级参数绑定 

前台jsp页面中是如何传入参数的呢?这是我们所关心的问题,因为后台形参中接收数据用的就是包装类ItemsQueryVo。
SpringMVC高级参数绑定 
  所以我们知道了,前台是通过类似于list[i].name这种形式来传递参数的。list[i]表示第i个ItemsCustom,然后 list[i].属性 表示第i个ItemsCustom中对应的属性。