天天看点

使用modelAndView返回页面不正确

在工程中,我们如果使用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;