如何将ArrayList
的{{1}}从Jsp传递给spring控制器。
我希望我的用户填写一些表单,其中以多种方式输入1个对象数据。我想制作一个列表并保存该对象的所有不同值。
然后我想将它传递给弹簧控制器。最好的方法是什么?感谢。
答案 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之前验证表单。