我在表单中有许多输入字段,用于将数据发布到服务器端。 在控制器中,我想在ModelMap中获取所有属性:
public String save(ModelMap model) {
....
}
我不想使用@RequestParam,因为要发送的字段太多了。我认为表单中的数据会自动发布并保存在ModelMap中,但它不起作用
有人能帮帮我吗? 感谢。
答案 0 :(得分:2)
您应该在表单处理程序
中使用@ModelAttribute@RequestMapping(value="/submitform", method = RequestMethod.POST)
public String save(@ModelAttribute("mydata") MyData myData) {
//do something with
//myData.getField1();
//myData.getFiled2();
}
这就是您将页面发送到表单的方式
@RequestMapping("/fillform")
public String loadForm(ModelMap model) {
//you could also fill MyData, to do autofill on the html form
model.put("mydata", new MyData());
return "fillform"; //[jsp]view resolver will pick up fillform.jsp
}
答案 1 :(得分:0)
我正在尝试做同样的事情。之前的答案存在的问题是,通过迭代Map<String, Object>
来动态构建UI。
因此无法预先定义MyData.class。
我正在使用下一种方法解决这个问题:
@RequestMapping(value = "/secure/filled", method = RequestMethod.POST)
public String saveFilledData(HttpServletRequest request, ModelMap model) {
request.getParameter("nameOfTheParameter");
}