怎么从一个controller层传递一个对象到另一个controller层,并举个例子
时间: 2024-05-04 19:16:01 浏览: 116
两个controller相互传值
从一个controller层传递一个对象到另一个controller层可以通过使用ModelAndView对象来实现。举个例子,假设有两个controller层,一个是UserController,另一个是OrderController。UserController的任务是展示用户信息,而OrderController负责处理用户的订单。当UserController需要传递用户对象到OrderController时,可以采用以下代码:
```
@RequestMapping("/showUser")
public ModelAndView showUser() {
//获取用户信息
User user = userService.getUser();
//将用户信息保存到ModelAndView对象中
ModelAndView mav = new ModelAndView();
mav.addObject("user", user);
//跳转到OrderController
mav.setViewName("redirect:/order");
return mav;
}
```
上述代码中,我们先从userService中获取用户信息,并将用户信息保存到ModelAndView对象中,然后通过设置mav.setViewName("redirect:/order")来跳转到OrderController。在OrderController中,我们可以使用以下代码来获取UserController传递过来的用户信息:
```
@RequestMapping("/order")
public ModelAndView showOrder(ModelAndView mav) {
//获取用户信息
User user = (User) mav.getModel().get("user");
//处理订单
...
return mav;
}
```
上述代码中,我们从mav中获取用户信息,并进行相应的订单处理。
阅读全文