Springmvc ModelAndView原理及用法详解
ModelAndView以org.springframework.ui.ModelMap的形式来保持模型数据,通过构造方bai法传入的或者通过实例方法添加的模型数据都将添加到这个ModelMap中。至于ModelMap中保持的模型数据将会在视图渲染阶段,由具体的View实现类来获取并使用。
我们需要为添加到ModelAndView的一组或者多组模型数据提供相应的键(Key),以便具体的View实现类可以根据这些键获取具体的模型数据,然后公开给视图模板。通常,模型中的数据对应的键需要与视图模板中的标志符相对应
ModelAndView是SpringMVC为我们提供的一个对象,该对象也可以用作控制器方法的返回值。
该对象中有两个方法
- addObject(StringattributeName,ObjectattributeValue):添加对象到该模型中
- 可以在页面直接用el表达式获取对象
- setViewName(@NullableStringviewName):设置逻辑视图名称,视图解析器会根据名称前往指定的视图
示例
控制器代码
/** *返回ModeAndView *@return */ @RequestMapping("/testReturnModelAndView") publicModelAndViewtestReturnModelAndView(){ ModelAndViewmv=newModelAndView(); mv.addObject("username","张三"); mv.setViewName("success"); returnmv; }
jsp取值
${requestScope.username}
注意:我们在页面上上获取使用的是requestScope.username取的,所以返回ModelAndView类型时,浏览器跳转只能是请求转发。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。