数据模块访问结构
访问数据模型:ModelAndView
@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;
}
本文介绍了SpringMVC中数据模块的访问结构,重点讨论了ModelAndView的使用,包括两种使用方式,以及如何通过Map和Model进行数据访问。此外,还提到了@SessionAttributes注解,用于在多个请求间共享模型属性数据。
1459

被折叠的 条评论
为什么被折叠?



