从controller的一个方法跳转到另一个方法中可以通过重定向实现,重定向具体语法:redirect:要访问的网址
具体请看下面示例:
@Controller
@RequestMapping("/user")
public class UserController {
@Resource
private UserService userService;
@GetMapping("/list")
public ModelAndView list(ModelAndView mav, Integer pageNum, Integer pageSize) {
//……
mav.setViewName("user/list");
return mav;
}
/**
* 具体修改用户信息
* @param user
* @return
*/
@PostMapping("/update1")
public String update1(User user) {
userService.updateUserSensitiveById(user);
//使用重定向再次打开列表页面
return "redirect:/user/list";
}
//控制器类的注解不能使用@RestController,要用@Controller。因为@RestController内含@ResponseBody,解析返回的是json串,就不再是跳转页面了
@PostMapping("/update2")
public void update2(User user, HttpServletResponse response) {
userService.updateUserSensitiveById(user);
//使用重定向再次打开列表页面
try {
response.sendRedirect("/wego/user/list"); //重定向
} catch (IOException e) {
e.printStackTrace();
}
}
//此时控制器类注解可以使用@RestController,也可以使用@Controller
}