我正在使用Spring 3.0.6
,并且注意到了一些(显然)矛盾的陈述,这些陈述涉及控制器方法声明 void 返回类型(或返回 null)时会发生什么。考虑以下 :
@Controller
@RequestMapping(value="admin/*")
public class AdminController {
@RequestMapping
public ResponseEntity<String> hello() {
System.out.println("hellooooooo");
}
}
这将视图名称作为方法名称,如此处所述。但正如在此处接受的答案中所述,视图名称源自 url(而不是方法名称)。有问题的方法是:
@Controller
@RequestMapping("/form")
public class FormController {
@RequestMapping(method=RequestMethod.POST)
public String processSubmit(@Valid FormBean form,
BindingResult result,
WebRequest webRequest,
HttpSession session, Model model) {
if (result.hasErrors()) {
return null;
} else {
session.setAttribute("form", form);
return "redirect:/form";
}
}
}