Как установить все данные публикации в ModelMap в Spring MVC? - PullRequest
0 голосов
/ 27 сентября 2011

У меня есть много полей ввода в форме для публикации данных на стороне сервера.И в контроллере я хочу получить все атрибуты в ModelMap следующим образом:

public String save(ModelMap model) {
    ....
}

Я не хочу использовать @RequestParam, так как нужно отправить так много полей.Я думаю, что данные в форме будут размещены и сохранены в ModelMap автоматически, но они не работают

Может кто-нибудь помочь мне?Спасибо.

Ответы [ 2 ]

2 голосов
/ 27 сентября 2011

Вы должны использовать @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 
 }
0 голосов
/ 03 августа 2012

Я пытаюсь сделать то же самое.Проблема с предыдущим ответом заключается в том, что пользовательский интерфейс динамически создается путем итерации Map<String, Object>.Поэтому невозможно предварительно определить класс MyData.class.

Я решаю эту проблему, используя следующий подход:

@RequestMapping(value = "/secure/filled", method = RequestMethod.POST) public String saveFilledData(HttpServletRequest request, ModelMap model) { request.getParameter("nameOfTheParameter"); }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...