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 类型时,浏览器跳转只能是请求转发。

以上是 Springmvc ModelAndView原理及用法详解 的全部内容, 来源链接: utcz.com/z/317706.html

回到顶部