在进行后台管理项目时,出现了一个需求,即需要进行不同controller之间的重定向转发。
查阅了一些网上的方法,bug不断,最终采取了折中的措施,即直接跳转到相应的界面,但是这会出现一个Controller调用多个Service的情况,但在本需求中,只需要不同事务的Service进行查询操作,所以不会造成不同事务间的影响。如后期能够实现不调不同事务的Service实现相同功能,再更新。
解决方法
@RequestMapping(value = "/deleteRole.do",method = {RequestMethod.POST, RequestMethod.GET})
public ModelAndView deleteRole(@RequestParam(name = "roleId",required = true) String roleId,
@RequestParam(name = "userId",required = true) String userId) throws Exception {
roleService.deleteRole(userId,roleId);
ModelAndView mv=new ModelAndView("user-show1");
UserInfo userInfo=userService.findById(userId);
mv.addObject("user",userInfo);
return mv;
}
user-show1.jsp是最终需要跳转的页面,mv.addObject("user",userInfo);
中的user时候jsp页面中需要读取的值,故由此曲线实现了不同controller之间的转发。