Controler返回跳转页面时能否返回参数
时间: 2023-07-16 17:12:19 浏览: 81
可以的。在控制器方法中,可以使用 `ModelAndView` 对象来同时返回视图名称和模型数据。例如:
```java
@GetMapping("/user/{id}")
public ModelAndView getUserById(@PathVariable Long id) {
User user = userRepository.findById(id).orElse(null);
ModelAndView modelAndView = new ModelAndView();
if (user != null) {
modelAndView.addObject("user", user);
modelAndView.setViewName("userDetails");
} else {
modelAndView.addObject("message", "User not found");
modelAndView.setViewName("error");
}
return modelAndView;
}
```
在这个例子中,如果找到了用户,控制器会将用户对象添加到模型中,然后设置视图名称为 `userDetails`。如果没有找到用户,控制器会将一个错误消息添加到模型中,然后设置视图名称为 `error`。在返回 `ModelAndView` 对象时,模型中的数据和视图名称都会被一起返回。在视图中,可以使用 `${user}` 或 `${message}` 来引用模型中的数据。
阅读全文