mar*_*one 7 java spring spring-mvc 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();
}
}
Run Code Online (Sandbox Code Playgroud)
简而言之,我的观点user几乎可以在每个动作中呈现HomeController,但我不想编码:
model.addAttribute("user", LoadCurrentUserFromDataBase())
Run Code Online (Sandbox Code Playgroud)
在每一个行动中,相反,我正在寻找一种方式@ModelAttribute来揭露user我的所有观点.
但是,根据文档,@ModelAttribute控制器中的方法在 @RequestMapping方法之前,在同一个控制器中调用.
至于我的代码,getUser之前被调用update,但我想获得更新的用户.
有没有办法在动作之后公开user属性而不在每个动作中显式调用?model.addAttribute
每次执行操作时POST,请进行重定向.这样,您的POST方法将只负责更新数据,更新的数据将由目标控制器加载.
所以在这种情况下,该update()方法将重定向到另一个控制器,该控制器将getUser()在其GET方法之前调用该方法.
| 归档时间: |
|
| 查看次数: |
1933 次 |
| 最近记录: |