Spring MVC 是一个基于Java的实现了MVC设计模式的Web框架,它使用了ModelAndView对象来封装视图和模型数据。
原理:
1. 当控制器方法处理完请求后,它会返回一个ModelAndView对象。
2. ModelAndView对象包含了视图名和模型数据。
3. Spring MVC会根据视图名找到对应的视图解析器,将模型数据传递给视图。
4. 视图解析器会根据视图名和模型数据生成最终的响应。
用法:
1. 创建一个ModelAndView对象:
ModelAndView mav = new ModelAndView();
2. 设置视图名:
mav.setViewName("viewName");
3. 添加模型数据:
mav.addObject("key", value);
4. 返回ModelAndView对象:
return mav;
5. 在视图页面中可以通过EL表达式获取模型数据:
${key}
通过使用ModelAndView,控制器可以将处理结果以及需要渲染的视图名一起返回给Spring MVC框架,框架会根据视图名找到对应的视图解析器,并将模型数据传递给视图进行渲染,最终生成响应返回给客户端。这种方式可以更灵活地处理模型数据和视图,并且支持多种类型的视图,如JSP、Thymeleaf、Freemarker等。