Ни BindingResult, ни простой целевой объект для бобового имени, доступного как запрос attr [дубликат]

Rasmus Lerdorf дал некоторые хорошие советы в своем недавнем представлении" Простой, Тверд " в FrOSCon '08. Если Вы используете кэш байт-кода (и действительно необходимо использовать один), включайте путь, который промахи повреждают много, поэтому оптимизируйте require/require_once.

33
задан Paul 28 April 2011 в 17:09
поделиться

2 ответа

Попробуйте добавить параметр BindingResult к методам, аннотированным @RequestMapping , которые имеют аннотированные параметры @ModelAttribute . После каждого параметра @ModelAttribute Spring ищет BindingResult в следующей позиции параметра (порядок важен).

Поэтому попробуйте изменить:

@RequestMapping(method = RequestMethod.POST)
public String loadCharts(HttpServletRequest request, ModelMap model, @ModelAttribute("sideForm") Chart chart) 
...

To:

@RequestMapping(method = RequestMethod.POST)
public String loadCharts(@ModelAttribute("sideForm") Chart chart, BindingResult bindingResult, HttpServletRequest request, ModelMap model) 
...
6
ответ дан 27 November 2019 в 18:01
поделиться

Убедитесь, что в вашей форме Spring упоминается modelAttribute = ".

Пример:

@Controller
@RequestMapping("/greeting.html")
public class GreetingController {

 @ModelAttribute("greeting")
 public Greeting getGreetingObject() {
  return new Greeting();
 }

 /**
  * GET
  * 
  * 
  */
 @RequestMapping(method = RequestMethod.GET)
 public String handleRequest() {
  return "greeting";
 }

 /**
  * POST
  * 
  * 
  */
 @RequestMapping(method = RequestMethod.POST)
 public ModelAndView processSubmit(@ModelAttribute("greeting") Greeting greeting, BindingResult result){
  ModelAndView mv = new ModelAndView();
  mv.addObject("greeting", greeting);  
  return mv;
 }
}

В вашем JSP:

<form:form  modelAttribute="greeting" method="POST" action="greeting.html">
37
ответ дан 27 November 2019 в 18:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: