当前位置: 移动技术网 > IT编程>开发语言>Java > Model、ModelMap、ModelAndView的使用和区别

Model、ModelMap、ModelAndView的使用和区别

2019年05月19日  | 移动技术网IT编程  | 我要评论

1、model的使用

  数据传递:model是通过addattribute方法向页面传递数据的;

  数据获取:jsp页面可以通过el表达式或c标签库的方法获取数据;

  return:return返回的是指定的页面路径;

 1     /**
 2      * model是每一次请求可以自动创建
 3      * @param model
 4      * @return
 5      */
 6     @requestmapping("/test01")
 7     public string test01(model model){
 8         model.addattribute("param_id", "01");
 9         model.addattribute("param_name", "spring-mvc");
10         return "test";
11     }        

2、modelmap的使用

  modelmap的使用与model相同,modelmap是一种特殊的model,一般来说,model可以接收各种类型的数据,如果接收的数据是list,那么这个时候model实际上是modelmap。

3、modelandview的使用

  数据传递:modelandview通过addobject方法向页面传递数据;

  数据获取:jsp页面可以通过el表达式或c标签库的方法获取数据(与model的获取方式相同);

  return:return返回的是modelandview对象;

  modelandview设置跳转地址有两个方式:

  第一种:在new modelandview时添加地址参数,如:

      modelandview mav = new modelandview("test");

  第二种:使用modelandview的setviewname(string)方法去设置,如:

      mav.setviewname("test");
 1   /**
 2      * modelandview需要我们自己创建
 3      * 可以指定跳转地址
 4      * @param model
 5      * @return
 6      */
 7     @requestmapping("/test02")
 8     public modelandview test02(){
 9         //第一种方法:在创建modelandview对象时,指定跳转地址
10         modelandview mav = new modelandview("test");
11         //第二种方法:用方法setviewname,指定跳转地址
12 //        mav.setviewname("test");
13         mav.addobject("param_id", "02");
14         mav.addobject("param_name", "modelandview");
15         return mav;
16     }

4、model与modelandview的区别

  第一点:model只是用来传输数据的,并不会进行业务的寻址。modelandview 却是可以进行业务寻址的;所以model的返回值是url地址,而modelandview的返回值是modelandview对象;

  第二点:model是每一次请求可以自动创建,但是modelandview 是需要我们自己去new的。所以使用model时controller的参数是model。

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网