を使用Model
します。フラッシュ属性が事前に入力されている必要があります。
@RequestMapping(value = "/bar", method = RequestMethod.GET)
public ModelAndView handleGet(Model model) {
String some = (String) model.asMap().get("some");
// do the job
}
または、代わりに、次を使用できますRequestContextUtils#getInputFlashMap
:
@RequestMapping(value = "/bar", method = RequestMethod.GET)
public ModelAndView handleGet(HttpServletRequest request) {
Map<String, ?> inputFlashMap = RequestContextUtils.getInputFlashMap(request);
if (inputFlashMap != null) {
String some = (String) inputFlashMap.get("some");
// do the job
}
}
PSあなたはで戻ることができreturn new ModelAndView("redirect:/foo/bar");
ますhandlePost
。
編集:
JavaDocによると:
RedirectAttributesモデルは、メソッドが呼び出されたときに空であり、メソッドがリダイレクトビュー名またはRedirectViewを返さない限り使用されません。
については触れられていないModelAndView
ので、handlePostを変更して"redirect:/foo/bar"
文字列を返すかRedirectView
:
@RequestMapping(value = "/bar", method = RequestMethod.POST)
public RedirectView handlePost(RedirectAttributes redirectAttrs) {
redirectAttrs.addFlashAttributes("some", "thing");
return new RedirectView("/foo/bar", true);
}
RedirectAttributes
私はコードでRedirectView
andmodel.asMap()
メソッドを使用していますが、問題なく動作します。