私はこのようなコントローラがあります。要するにSpring MVCが@RequestMappingの後に@ModelAttributeを呼び出すことはできますか?
@Controller
public class HomeController {
@RequestMapping(value = "/update", method = RequestMethod.POST)
public String update(@RequestParam("user") User user, ModelMap model){
SaveUserToDatabase(user);
return "index";
}
@ModelAttribute("user")
String getUser() {
return LoadCurrentUserFromDataBase();
}
}
を、私の見解は、HomeController
ほぼすべてのアクションでuser
をレンダリング が、私はコードにしたくないでしょう。
model.addAttribute("user", LoadCurrentUserFromDataBase())
代わりに、すべての私の意見にuser
を公開するために、@ModelAttribute
のような方法を模索しています。
しかし、ドキュメントによれば、コントローラに@ModelAttribute
方法は、同じコントローラ内、前@RequestMapping
方法が呼び出されます。
私のコードに関してはgetUser
がupdate
の前に呼び出されていますが、私は更新されたユーザーを取得したいと思います。
明示的にすべてのアクションでmodel.addAttribute
を呼び出すことなく、アクション後user
属性を公開する方法はありますか?