ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

springmvc中Model和ModelAndView

springmvc中Model和ModelAndView 一、基础Model是数据容器只负责存放数据不保存视图名称。publicclassUsercontroller1{RequestMapping(/test1)//映射地址publicStringtest1(Modelmodel){//传对象参数System.out.println(model);model.addAttribute(model,springmvc1234);returntest;//页面WEB-INF/jsp/test.jsp}返回值 String代表跳转的视图名数据放 Model视图名单独 returnModelAndView常用主流同时封装两部分Model数据 View视图名称ModelAndViewmvnewModelAndView();mv.addObject(msg1,spring);//保存数据k-v模式mv.addObject(m,newUser(123));mv.setViewName(hello);//跳转set的页面并且在其中取值returnmv;二、常用方法Modelmodel.addAttribute(key,value);model.addAllAttributes(map);ModleAndView:mav.addObject(key,value);//存数据mav.setViewName(login);//设置视图//支持转发、重定向mav.setViewName(forward:/user/list);mav.setViewName(redirect:/login);日常开发大多数使用 Model 返回 String代码简洁如果需要在方法内部多处动态切换视图适合使用 ModelAndView三、区别Model仅存储数据视图名称由方法返回字符串提供ModelAndView同时包含数据和视图名称封装为一个对象两者数据都存放在 request 域一次请求有效视图解析器最终根据视图名跳转页面。//方式1 Model StringpublicStringdemo(Modelmodel){model.addAttribute(name,张三);//存值returnindex;//返回值页面}//方式2 ModelAndViewpublicModelAndViewdemo(){ModelAndViewmavnewModelAndView();mav.addObject(name,张三);//存值mv.setViewName(hello);//跳转set的页面并且在其中取值returnmav;}封装三大特性权限控制private属性 get/set保护数据。封装成对象功能把一组相关数据整合在一起方便传输、保存。
返回列表