Java SpringMVC-400状态错误中@ModelAttribute工作中的奇怪行为
我的一个Spring MVC应用程序中发生了一个奇怪的行为。注释@ModelAttribute适用于某些实体类,但在用于其他一些类时会引发400错误。请参见下面的示例代码 抛出错误的控制器代码Java SpringMVC-400状态错误中@ModelAttribute工作中的奇怪行为,java,spring,spring-mvc,Java,Spring,Spring Mvc,我的一个Spring MVC应用程序中发生了一个奇怪的行为。注释@ModelAttribute适用于某些实体类,但在用于其他一些类时会引发400错误。请参见下面的示例代码 抛出错误的控制器代码 @RequestMapping(value = "/courses/add", method = RequestMethod.GET) public String addCoursePage(WebRequest request, ModelMap model) { Course course =
@RequestMapping(value = "/courses/add", method = RequestMethod.GET)
public String addCoursePage(WebRequest request, ModelMap model) {
Course course = new Course();
model.addAttribute("course", course);
return "addCourse";
}
@RequestMapping(value= "/courses/save", method = RequestMethod.POST)
public String saveCourse(@Valid @ModelAttribute("course") Course course, BindingResult result){
if (result.hasErrors()) {
return "redirect:/courses/list";
}
this.courseService.addCourse(course);
return "redirect:/courses/list";
}
@RequestMapping(value = "/courses/list", method = RequestMethod.GET)
public String coursesListPage(ModelMap model) {
model.addAttribute("coursesList", this.courseService.listAllCourses());
return "courseList";
}
在上面的代码中,在saveCourse方法中,实体课程的model属性抛出400错误。但我有一些非常奇怪的观察。我将在下面列出我的发现
根据以上观察,如果我们有更多的实体类,并且每次都有相同的实体类,那么model attribute是否会抛出错误?看看这个答案:根据答案,即使我删除@ModelAttribute注释,如果我只是使用课程,那么它也会有相同的错误。这适用于所有抛出错误的类。