如何将ArrayList从Jsp传递给Spring(注释库)控制器

时间:2011-02-03 10:23:39

标签: java spring spring-mvc webforms

如何将ArrayList的{​​{1}}从Jsp传递给spring控制器。

我希望我的用户填写一些表单,其中以多种方式输入1个对象数据。我想制作一个列表并保存该对象的所有不同值。

然后我想将它传递给弹簧控制器。最好的方法是什么?感谢。

2 个答案:

答案 0 :(得分:1)

首先,您将从JSP传递HTTP请求到Spring控制器,而不是数组数组。

用户填写的表单将包含HTML表单元素,这些元素将作为HTTP参数名称/值对发送到服务器端。

Spring控制器将验证表单元素并将其绑定到对象中;如果愿意,你当然可以将所有这些参数绑定到数组中。

答案 1 :(得分:1)

是,创建类并将此类绑定到表单,以便控制器自动接收该类。

它看起来像这样。

 @RequestMapping(value="/submit",method = RequestMethod.POST)
      public ModelAndView addUser(@Valid MyClass myClass, BindingResult result){

}

public class MyClass{
private  List<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();

//getters and setters. 
}
希望它有所帮助。

<强>更新

Ajax方式:

JSON = {“myClass”“list”:[[1,2,3,4],[1,2,3,45],[3,5,1]]}

和控制器本身。

 @RequestMapping(value="/submit",method = RequestMethod.POST)
     @ResponseBody
     public String getAjax(@RequestBody Myclass myClass){
//do something
}

并使用javascript构建suck JSON并使用AJAX将其发送到服务器。您可以在使用Javascript之前验证表单。