如何为张家口地区制作并优化网站?
摘要:网站建设视频教程百度云,张家口建站优化,wordpress 关注微博,网站建设外出考察信息SpringMVC中Model和ModelAndView的区别 两者的区别: 在SpringMVC中&#
网站建设视频教程百度云,张家口建站优化,wordpress 关注微博,网站建设外出考察信息SpringMVC中Model和ModelAndView的区别
两者的区别#xff1a;
在SpringMVC中#xff0c;Model和ModelAndView都是用于将数据传递到视图层的对象
Model是”模型“的意思#xff0c;是MVC架构中的”M“部分#xff0c;是用来传输数据的。
理解成MVC架构中的”M“和”V“…SpringMVC中Model和ModelAndView的区别
两者的区别
在SpringMVC中Model和ModelAndView都是用于将数据传递到视图层的对象
Model是”模型“的意思是MVC架构中的”M“部分是用来传输数据的。
理解成MVC架构中的”M“和”V“其中包含”Model“和”View“两部分主要功能是设置转向地址将底层获取的数据进行存储或者封装最后将数据传递给View。
Model只是用来传输数据的并不会进行业务的寻址。ModelAndView 却是可以进行业务寻址的就是设置对应的要请求的静态文件这里的静态文件指的是类似JSP的文件。
Model是每次请求中都存在的默认参数利用其addAttribute()方法即可将服务器的值传递到JSP页面中。
ModelAndView包含Model和View两部分使用时需要自己实例化利用ModelMap用来传值也可以设置View的名称。
其次两者还有一个最大的区别每次发起请求后Spring MVC会自动创建Model对象而ModelAndView需要我们自己创建
总结
虽然Model和ModelAndView都可以用于将数据传递到视图层但ModelAndView更加强大因为它不仅可以传递数据还可以指定要呈现的视图。如果你只需要传递数据而不关心视图则可以使用Model。但如果你需要同时传递数据和指定视图则应该使用ModelAndView。
Model在Controller层的写法
Controller //代表这个类会被Spring接管被这个注解的类中所有方法如果返回值是String,并且有具体的页面可以跳转那么就会被视图解析器解析
public class IndexController {RequestMapping(/demo) //意为请求 localhost:8080/demopublic String demo(Model model){//封装数据向模型中添加数据可以jsp页面直接取出并渲染model.addAttribute(Content,Hello);//会被视图解析器处理return Hello; //返回到哪个页面 }
}model方法是可以返回一个对象的。model.addAttribute(String s,Object o)返回对象要创建一个实体对象生成getter和Setter,还有同String()方法 ModelAndView在Controller层的写法
Controller
RequestMapping
public class IndexController {RequestMapping(/demo2)public ModelAndView demo2(){ModelAndView modelAndView new ModelAndView();//返回到那个前端文件modelAndView.setViewName(hello); modelAndView.addObject(ContentOne,HelloOne);modelAndView.addObject(ContentTwo,HelloTwo);System.out.println(modelAndView);return modelAndView;}
}
