首先,我们需要了解什么是 Spring Boot。Spring Boot 是 Spring 家族开源的轻量级 Web 开发框架,它简化了 Spring 繁琐的配置,使开发者能够更加专注于业务逻辑的实现。
在 Spring Boot 中,我们可以通过创建一个控制器类来处理请求并返回响应,其中返回 ModelAndView 类型的对象可以用于处理页面渲染。
以下是一个简单的 Spring Boot 项目配置:
首先,在 pom.xml 文件中添加如下依赖:
<!-- Spring Boot Web Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
然后,添加一个简单的控制器类:
@Controller
public class HomeController {
@GetMapping("/")
public ModelAndView home() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("home");
modelAndView.addObject("title", "Home Page");
modelAndView.addObject("message", "Welcome to my Spring Boot website!");
return modelAndView;
}
}
在这个控制器类中,我们定义了一个 home() 方法来处理 GET 请求,并返回一个包含视图名称、模型数据的 ModelAndView 对象。
其中,我们使用 @Controller 注解标识该类为控制器类,@GetMapping 注解标识该方法处理 GET 请求,并利用 ModelAndView 对象设置视图名称和模型数据。
接下来,在 src/main/resources 目录下创建一个名为 templates 的文件夹,在该文件夹下添加一个名为 home.html 的 HTML 页面,如下所示:
<!DOCTYPE html>
<html>
<head>
<title th:text="${title}"></title>
</head>
<body>
<h1 th:text="${message}"></h1>
</body>
</html>
在这个 HTML 页面中,我们使用 Thymeleaf 模板引擎来处理模板表达式,其中 th:text、th:href、th:src 等属性可用于将模型数据映射到 HTML 页面中。
最后,启动应用程序并访问 http://localhost:8080/,应该会看到一个包含 "Welcome to my Spring Boot website!" 文字的页面。
下面是另外一个例子,演示如何使用 ModelAndView 对象渲染一张图片:
@Controller
public class ImageController {
@GetMapping("/image")
public ModelAndView image() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("image");
modelAndView.addObject("title", "Image Page");
modelAndView.addObject("src", "/image.jpg");
return modelAndView;
}
}
在这个控制器类中,我们定义了一个 image() 方法来处理 GET 请求,并返回一个包含视图名称、模型数据的 ModelAndView 对象。
接下来,在 src/main/resources 目录下创建一个名为 templates 的文件夹,在该文件夹下添加一个名为 image.html 的 HTML 页面,如下所示:
<!DOCTYPE html>
<html>
<head>
<title th:text="${title}"></title>
</head>
<body>
<img th:src="@{${src}}"/>
</body>
</html>
在这个 HTML 页面中,我们使用 Thymeleaf 模板引擎来处理模板表达式,其中 th:src 属性可用于从模型数据中获取图片路径。
最后,在项目根目录下添加一张名为 image.jpg 的图片,并启动应用程序并访问 http://localhost:8080/image,应该会看到一张图片。
总之,通过整合 Spring Boot 和 Thymeleaf 模板引擎,我们可以轻松地实现返回 ModelAndView 页面的需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot返回modelandview页面的实例 - Python技术站