在工程中,我们如果使用modelAndView返回页面
有可能会碰到如下问题,例如
@RequestMapping(value = "/userDetail.html")
public ModelAndView jump2UserDetailPag() {
//获取当前登录的用户username
UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext().getAuthentication() .getPrincipal();
String username = userDetails.getUsername();
User user = userService.selectUserByName(username).get(0);
UserRole userRole = userRoleService.selectUserRole(username);
ModelAndView mav = new ModelAndView("hello");//实例化一个VIew的ModelAndView实例
mav.addObject("user", user);
mav.addObject("userRole", userRole);
mav.setViewName("userSetting");
return mav;
}
上面代码是指蒋用户名和用户角色传入mav,然会userSetting.jsp,假设servlet的prefix和suffix是这么设置的
突然发现,
返回的页面时
userDetail.jsp,为什么呢
其实很简单
是,我们使用错了包@!
检查下,modelandview的包,完整路径应该是
org.springframework.web.servlet.ModelAndView;