ModelAndView的作用
一个http请求的过程,就是一个客户端发起请求,到服务器端,服务器接收到请求交给前端控制器,找到相应的服务方法,执行业务操作。然后返回给客户端一个消息,也可能是一个页面。由于本身http是无状态的并不会保存什么请求信息。 但是目标页面可能又需要一些信息。这时候可以用ModelAndView存放一些业务数据之类等。然后返回给页面
@Controller @RequestMapping("/ModelAndViewService") public class ModelAndViewService { public final static String SUCCEEDD="show"; @RequestMapping(value="/testModelAndView",method=RequestMethod.GET) public ModelAndView testModelAndView(){ String viewName=SUCCEEDD;
//实例化ModelAndView 并传入目标页面viewName ModelAndView modelAndView=new ModelAndView(viewName);
//存放viewName目标页面需要的数据,到request域对象中 modelAndView.addObject("time", new Date()); modelAndView.addObject("name", "xiaofang"); modelAndView.addObject("age", "15"); return modelAndView; } }
目标页面片段
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <h2>show this is succeedd ? yes </h2> <br> ${requestScope.time} <br> ${requestScope.name} <br> ${requestScope.age} </body> </html>
通过浏览器发送请求到目标页面中。http://localhost:8080/springmvc/ModelAndViewService/testModelAndView,看到响应页面已经接收到数据