在Spring MVC中,ModelAndView是一个持有模型数据和视图名称的类,可以用来返回视图以及向视图传递数据。以下是一个简单的示例来展示如何在Spring MVC中使用ModelAndView:
@Controller
public class HomeController {
@RequestMapping("/home")
public ModelAndView home() {
ModelAndView modelAndView = new ModelAndView();
// 设置视图名称
modelAndView.setViewName("home");
// 向视图传递数据
modelAndView.addObject("message", "Hello, Spring MVC!");
return modelAndView;
}
}
在上面的例子中,我们创建了一个HomeController类,其中定义了一个处理“/home”请求的方法。在这个方法中,我们创建了一个ModelAndView对象,设置了视图名称为“home”,并向视图添加了一个名为“message”的数据。
当客户端请求“/home”时,Spring MVC将会调用home()方法,并返回一个ModelAndView对象,该对象将视图名称为“home”以及数据“Hello, Spring MVC!”传递给视图。
在视图中,可以使用JSP、Thymeleaf等模板引擎来获取和展示传递过来的数据。例如,在JSP中可以使用以下代码来展示“message”数据:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Home Page</title>
</head>
<body>
<h1>${message}</h1>
</body>
</html>
这样,当用户访问“/home”时,将会看到页面上显示“Hello, Spring MVC!”的内容。这就是使用ModelAndView在Spring MVC中传递数据和返回视图的基本用法。