【发布时间】:2013-07-26 04:21:10
【问题描述】:
我有一个这样的控制器:
@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())
在每一个动作中,我都在寻找一种像 @ModelAttribute 这样的方式来将 user 暴露给我的所有观点。
但是,根据文档,控制器中的 @ModelAttribute 方法在同一控制器内在 @RequestMapping 方法之前被调用。
至于我的代码,getUser 在update 之前被调用,但我想获取更新的用户。
有没有办法暴露user 属性after 动作而不在每个动作中显式调用model.addAttribute?
【问题讨论】:
标签: java spring spring-mvc modelattribute