首页 > 编程语言 > Springmvc ModelAndView原理及用法详解
2020
10-28

Springmvc ModelAndView原理及用法详解

ModelAndView以org.springframework.ui.ModelMap的形式来保持模型数据,通过构造方bai法传入的或者通过实例方法添加的模型数据都将添加到这个ModelMap中。至于ModelMap中保持的模型数据将会在视图渲染阶段,由具体的View实现类来获取并使用。 

我们需要为添加到ModelAndView的一组或者多组模型数据提供相应的键(Key),以便具体的View实现类可以根据这些键获取具体的模型数据,然后公开给视图模板。通常,模型中的数据对应的键需要与视图模板中的标志符相对应

ModelAndView 是 SpringMVC 为我们提供的一个对象,该对象也可以用作控制器方法的返回值。

该对象中有两个方法

  • addObject(String attributeName,Object attributeValue):添加对象到该模型中
    • 可以在页面直接用el表达式获取对象
  • setViewName(@Nullable String viewName):设置逻辑视图名称,视图解析器会根据名称前往指定的视图

示例

控制器代码

/**
* 返回ModeAndView
* @return
*/
@RequestMapping("/testReturnModelAndView")
public ModelAndView testReturnModelAndView() {
  ModelAndView mv = new ModelAndView();
  mv.addObject("username", "张三");
  mv.setViewName("success");
  return mv; 
}

jsp取值

${requestScope.username}

注意:我们在页面上上获取使用的是 requestScope.username 取的,所以返回 ModelAndView 类型时,浏览器跳转只能是请求转发。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。

编程技巧