在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中傳遞數據和返回視圖的基本用法。