私はを使用し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";
}
}
}