を使用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私はコードでRedirectViewandmodel.asMap()メソッドを使用していますが、問題なく動作します。