0
У меня проблема с RedirectAttributes, не сохраняющая (я думаю). Это мой код:Проблема с RedirectAttributes в SpringMVC
@RequestMapping(path = "/job_offers", method = RequestMethod.POST)
public String createJobOffer(@Valid @ModelAttribute("jobOfferForm") JobOfferForm jobOfferForm,
final BindingResult binding, RedirectAttributes attr) {
attr.addFlashAttribute("org.springframework.validation.BindingResult.jobOfferForm", binding);
attr.addFlashAttribute("jobOfferForm", jobOfferForm);
return "redirect:/job_offers";
}
@RequestMapping(path = "/job_offers", method = RequestMethod.GET)
public ModelAndView jobOffers(@RequestParam(required = false, value = "skill_id") final Long skillId,
@ModelAttribute("jobOfferForm") JobOfferForm jobOfferForm, final BindingResult binding) {
ModelAndView mav = new ModelAndView("job_offers/index");
mav.addAllObjects(getJobOffersMap(skillId));
mav.addObject("jobOfferForm", jobOfferForm);
return mav;
}
Если я печатаю мои привязки в методе POST он имеет в ней ошибку, но когда я вызываю метод GET через редирект связывание приходит пустым! и весна не показывает ошибку обратной связи по формам из-за этого
Любые идеи? Спасибо!
Я пробовал подход несколько, как это и это сработало. Но проблема в том, что привязка используется Spring для отображения ошибок в формах (например, «слишком короткий пароль» и т. Д.). Это не просто случайная величина. Редактировать: Я понял, что вы, возможно, видели это так из-за комментария, это была испытательная вещь, моя плохо! Я удалил его –
ok. один вопрос. В сигнатуре метода get зачем нужна форма как атрибут модели ?! ... Я думаю, что это то, что делает сообщения dissapear – KLajdPaja
@ModelAttribute может использоваться как аргумент/параметр метода или перед объявлением метода. Основной целью этой аннотации является привязка параметров запроса или полей формы к объекту модели. Ссылка: http://www.javabeat.net/modelattribute-spring-mvc/ . Передавая это поле, форма не очищается, когда у вас есть некоторая ошибка (сообщение получает экземпляр формы, а получатель заполняет его снова предыдущими данными) –