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,看到响应页面已经接收到数据

原文地址:https://www.cnblogs.com/sunjiqiang/p/5595933.html