本文共 1647 字,大约阅读时间需要 5 分钟。
@RequestMapping(method = RequestMethod.POST)public ModelAndView createUser(User user) { userService.createUser(user); //创建ModelAndView对象并指定跳转界面 //ModelAndView mav = new ModelAndView("user/createSuccess") //创建ModelAndView对象 ModelAndView mav = new ModelAndView(); //指定跳转界面 mav.setViewName("user/createSuccess"); //设置属性 mav.addObject("user", user); return mav;}访问数据模型:@ModelAttribute
1.使用方式一
@RequestMapping(value = "/handle61")public String handle61(@ModelAttribute("user") User user){ user.setUserId("1000"); return "/user/createSuccess";}springMVC将HTTP请求数据绑定到user入参中,然后再将user对象添加到数据模型中。
2.使用方式二
访问数据模型:Map及Model
org.springframework.ui.Model和java.util.Map;
@RequestMapping(value = "/handle63")public String handle63(ModelMap modelMap){ modelMap.addAttribute("testAttr","value1"); User user = (User)modelMap.get("user"); user.setUserName("tom"); return "/user/showUser";}SpringMVC一旦发现处理方法有Map或Model类型的入参,就会将请求内在的隐含模型对象的引用传给这些入参。
访问数据模型:@SessionAttributes
如果希望在多个请求之间公用某个模型属性数据,则可以在控制器类标注一个@SessionAttributes,SpringMVC将模型中对应的属性暂存到HttpSession中:
示例:
Map
@RequestMapping(value="/case",method=RequestMethod.GET)public String case1(Map map) throws Exception{ map.put("sex", "girl"); return "/lesson03/res.jsp";}
Model
@RequestMapping(value="/case",method=RequestMethod.GET)public String case1(Model model) throws Exception{ model.addAttribute("name", "zs"); return "/lesson03/res.jsp";}ModelAnaView
@RequestMapping(value="/case2",method=RequestMethod.GET)public ModelAndView case2() throws Exception{ ModelAndView mav = new ModelAndView("/lesson03/res.jsp"); mav.addObject("sex","boy"); return mav;}