Tôi có một bộ điều khiển như thế này:Spring MVC có thể gọi @ModelAttribute sau khi @RequestMapping không?
@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();
}
}
Nói tóm lại, quan điểm của tôi sẽ làm cho user
ở hầu hết mỗi hành động trong HomeController
, nhưng tôi không muốn mã:
model.addAttribute("user", LoadCurrentUserFromDataBase())
trong mọi hành động, thay vào đó, tôi đang tìm cách như @ModelAttribute
để hiển thị user
cho tất cả các chế độ xem của tôi.
Tuy nhiên, theo tài liệu, các phương pháp @ModelAttribute
trong bộ điều khiển được gọi trước các phương thức@RequestMapping
, trong cùng một bộ điều khiển.
Với mã của tôi, getUser
được gọi trước update
, nhưng tôi muốn nhận người dùng được cập nhật.
Có cách nào để lộ các thuộc tính user
sau hành động mà không cần gọi một cách rõ ràng model.addAttribute
trong mỗi hành động?