如何将对象列表绑定到SpringMvc Controller?

我在SpringMvc应用程序上使用以下操作:

@RequestMapping(value = "/test", method = RequestMethod.GET) public ModelAndView test( @ModelAttribute List groups ) { //return whatever } 

我的Group类有一个’id’和’name’属性。 默认的getter / setter。 我应该如何调用此操作才能使此列表正确实现?

我试过类似的东西:
/test?groups.id=2&groups.name=stackrocks&groups.id=3&groups.name=stackrules
没工作。

还尝试过:
/test?groups[].id=2&groups[].name=stackrocks&groups[].id=3&groups[].name=stackrules
没有成功。

那么,在使用SpringMvc时如何绑定列表?

您不能将方法的参数绑定到该签名。 @ModelAttribute将属性绑定到相应模型对象的字段,因此您可以将List封装到对象中:

 public class Groups { private List list = new AutoPopulatingList(Group.class); ... } @RequestMapping(value = "/test", method = RequestMethod.GET) public ModelAndView test( @ModelAttribute Groups groups ) { //return whatever } 

然后按如下方式调用它:

 /test?list[0].id=2&list[0].name=stackrocks&list[1].id=3&list[1].name=stackrules