在Spring MVC中,ModelAndView是一個持有模型數(shù)據(jù)和視圖名稱的類,可以用來返回視圖以及向視圖傳遞數(shù)據(jù)。以下是一個簡單的示例來展示如何在Spring MVC中使用ModelAndView:
@Controller
public class HomeController {
@RequestMapping("/home")
public ModelAndView home() {
ModelAndView modelAndView = new ModelAndView();
// 設(shè)置視圖名稱
modelAndView.setViewName("home");
// 向視圖傳遞數(shù)據(jù)
modelAndView.addObject("message", "Hello, Spring MVC!");
return modelAndView;
}
}
在上面的例子中,我們創(chuàng)建了一個HomeController類,其中定義了一個處理“/home”請求的方法。在這個方法中,我們創(chuàng)建了一個ModelAndView對象,設(shè)置了視圖名稱為“home”,并向視圖添加了一個名為“message”的數(shù)據(jù)。
當(dāng)客戶端請求“/home”時,Spring MVC將會調(diào)用home()方法,并返回一個ModelAndView對象,該對象將視圖名稱為“home”以及數(shù)據(jù)“Hello, Spring MVC!”傳遞給視圖。
在視圖中,可以使用JSP、Thymeleaf等模板引擎來獲取和展示傳遞過來的數(shù)據(jù)。例如,在JSP中可以使用以下代碼來展示“message”數(shù)據(jù):
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Home Page</title>
</head>
<body>
<h1>${message}</h1>
</body>
</html>
這樣,當(dāng)用戶訪問“/home”時,將會看到頁面上顯示“Hello, Spring MVC!”的內(nèi)容。這就是使用ModelAndView在Spring MVC中傳遞數(shù)據(jù)和返回視圖的基本用法。