私のUserController.java
@Controller
@RequestMapping("/userRegistration")
public class UserController{
@RequestMapping(method = RequestMethod.GET)
public String showForm(ModelMap model) {
User user = new User();
model.addAttribute(user);
return "userForm";
}
@RequestMapping(method = RequestMethod.POST)
public String onFormSubmit(@ModelAttribute("user") User user) { // **#1**
return "redirect:userSuccess.htm"; // **#2**
}
}
私のSuccessController.java
@Controller
public class SuccessController {
@RequestMapping("/userSuccess.htm")
public String getSuccessPage(@ModelAttribute("user") User user){ // **#3**
return "userSuccess";
}
}
"user"
モデルが入っていないSuccessController
ので、で使う${user.name}
とuserSuccess.jsp
何の価値もありません。
1行目にユーザーモデルを設定すると、別のコントローラーでこの値を取得しないのはなぜですか?を使用してこのモデルをSessionに保持@SessionAttributes
すると、別のコントローラーでアクセスできます。
それでは、を使用して形成されたモデルの範囲は何@ModelAttribute
ですか?