LoginFormController-> Postは、フォームが送信/投稿された後に呼び出されます。最後に、LandingFormController->loadFormという別のコントローラーを呼び出します。
さて、loadFormでは、モデルの値は空のようです。Beanをセッションまたはリクエストで永続化し、loadFormメソッドで取得する方法はありますか?ボーナスポイント:参照するドキュメントをいくつか指すことができれば:)
ありがとう
@Controller
@RequestMapping(value="/login")
public class LoginFormController {
@RequestMapping(method=RequestMethod.POST)
public ModelAndView post(@ModelAttribute User user, BindingResult result, SessionStatus status) {
logger.info("post");
new ReceiptUserValidator().validate(user, result);
if (result.hasErrors()) {
return new ModelAndView("login");
}
else {
logger.info("Email Id: " + user.getEmailId());
//status.setComplete();
Map<String, Object> model = new HashMap<String, Object>();
model.put("userId", user.getEmailId());
model.put("now", new Date().toString());
return new ModelAndView("redirect:/landing.htm", "model", model);
}
}
その下のコントローラーBが呼び出されます
@Controller
@RequestMapping(value="/landing")
public class LandingFormController {
protected final Log logger = LogFactory.getLog(getClass());
@RequestMapping(method=RequestMethod.GET)
public String loadForm(Model model) {
logger.info("LandingFormController loadForm: " + model.asMap().keySet());
return "landing";
}
}