springboot返回modelandview页面的实例

首先,我们需要了解什么是 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技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • java Beanutils.copyProperties( )用法详解

    Java BeanUtils.copyProperties()用法详解 BeanUtils.copyProperties()是Apache Commons BeanUtils库中提供的一个方法,它可以将一个Java Bean的属性值拷贝到另一个Java Bean中。该方法提供了一个方便的方式来将两个不同对象之间的属性值进行复制。 方法签名 以下是BeanUt…

    Java 2023年5月20日
    00
  • Springboot热部署实现原理及实例详解

    Spring Boot 热部署实现原理及实例详解 什么是热部署 热部署(Hot swapping)是指在应用程序运行时,无需停止或重启应用程序,就可以实时更新部分或全部代码和配置。热部署可以提高应用程序的开发和测试效率,缩短开发和测试的周期,特别是对于大型项目和复杂项目来说,效果尤为明显。 Spring Boot 热部署实现原理 Spring Boot 应用…

    Java 2023年5月19日
    00
  • 解析在Tomcat中启用虚拟线程特性

    解析在Tomcat中启用虚拟线程特性的完整攻略 什么是虚拟线程? 虚拟线程是一种优化Java Web服务器性能的一种技术,虚拟线程的实现不完全依赖于物理线程,而是通过线程池去模拟实现,这样就可以比物理线程更灵活的、更充分的利用服务器的资源,提高性能。 启用Tomcat虚拟线程特性 要启用Tomcat的虚拟线程特性,需要遵循以下步骤: 步骤1:修改server…

    Java 2023年5月19日
    00
  • SpringBoot注入自定义的配置文件的方法详解

    当我们开发一个SpringBoot应用时,我们通常需要使用一些配置文件来配置我们的应用程序,例如application.properties或application.yml文件。但是,有时我们需要注入我们自己的配置文件,例如redis.properties或mysql.properties等。那么,本文将介绍如何将自定义配置文件注入到SpringBoot应用…

    Java 2023年5月26日
    00
  • java实现学生信息录入界面

    下面是“java实现学生信息录入界面”的完整攻略。 步骤一:创建GUI界面 Java的GUI界面可以使用Swing或JavaFX实现。这里我们以Swing为例。 示例一 以下代码展示了如何使用Swing创建一个简单的GUI界面,包含一个文本框和一个按钮: import javax.swing.*; public class StudentInfoGUI ex…

    Java 2023年5月24日
    00
  • 响应式编程初探

    响应式 响应式系统(Reactive System) 具有以下特质:即时响应性(Responsive)、回弹性(Resilient)、弹性(Elastic)以及消息驱动(Message Driven)响应式系统更加灵活,松耦合,可伸缩 即时响应性 只要有可能, 系统就会及时地做出响应。 即时响应是可用性和实用性的基石, 而更加重要的是,即时响应意味着可以快速…

    Java 2023年4月17日
    00
  • java通过实例了解值传递和引用传递

    首先,需要理解Java中两种数据类型传递方式:值传递和引用传递。值传递是指在方法调用时传递的是实际的值,而引用传递则是指传递的是对象的引用。 值传递(Value Passing) Java中的基本数据类型,如int、float、boolean等都是通过值传递的方式进行传递。这意味着,当你将一个基本数据类型作为参数传递给一个方法时,它会复制参数的值,并将其传递…

    Java 2023年5月27日
    00
  • Java中进程与线程的区别

    Java中进程与线程的区别 在Java中,进程(Process)和线程(Thread)都是常见的概念。虽然它们的功能类似,但它们之间存在明显的不同。了解它们的区别对我们正确地设计和编写多线程程序非常重要。 进程和线程的定义 进程是操作系统操作的基本单位,它是程序执行时的一个实例。它拥有自己的内存空间、系统资源和进程上下文等。每个进程都有一个或多个线程,线程是…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部