ModelAndView的详细介绍

先来看一下,ModelAndView的构造方法,其实用的也就两种,
有String参数的两种

   
   

构造方法摘要

ModelAndView()            默认构造函数豆式的用法:在构造函数参数填充通过bean属性代替。

 

ModelAndView(java.lang.String viewName)            方便在没有构造模型数据暴露。

 

ModelAndView(java.lang.String viewName, java.util.Map model)            创建新的视图名称ModelAndView的给予和模型。

 

ModelAndView(java.lang.String viewName, java.lang.String modelName, java.lang.Object modelObject)            方便的构造采取单一的模式对象。

 

ModelAndView(View view)            方便在没有构造模型数据暴露。

 

ModelAndView(View view, java.util.Map model)            创建新的ModelAndView给予视图对象和模型。

 

ModelAndView(View view, java.lang.String modelName, java.lang.Object modelObject)            方便的构造采取单一的模式对象。

这是三个方法,用来加model,一般都不用,
注意一下,第二种方法,直接加入object,会默认加入string,因为他们的本质还是Map;

直接放入对象。属性名为”首字母小写的类名”

 ModelAndView

addAllObjects(java.util.Map modelMap)            新增模式。

 ModelAndView

addObject(java.lang.Object attributeValue)            将属性添加到模型中使用的参数名生成。

 ModelAndView

addObject(java.lang.String attributeName, java.lang.Object attributeValue)            添加一个属性到模型中。

关于返回值的一些体会:
            其实我感觉,返回的都是map,不论哪种形式,都是向map转换,还不如直接用map;
         map,modelMap,Model都是一个意思,
这里有一个小实验,参考别人做的:
<span style="font-size:18px;">             ModelMap modelMap=new ModelMap();
	     modelMap.addAttribute("yunyun","xiao yun yun");
	     
	     Map<String,Object> map=new HashMap<String,Object>();
	     map.put("yunyun", "xiao fa  de");
	     
	     request.setAttribute("yunyun", "laopo");</span>
<span style="font-size:18px;">
</span>
<span style="font-size:18px;">             return new ModelAndView("haha",map)  ;
</span>
<body>
    hhahhha. -------------${yunyun}<br>
  </body>
“yunyun”属性的获取,优先获取map中的,并不是request中的。
别的就没做测试了,直接给出结论:
优先取Model和ModelMap的,Model和ModelMap是同一个东西,谁最后赋值的就取谁的,然后是request,最后是从session中获取


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值