SpringBoot整合BootStrap实战

完整攻略:

  1. 创建SpringBoot项目

首先,我们需要创建一个SpringBoot项目。打开IDEA,点击“New Project”,选择Spring Initializr,填写项目信息,勾选“Web”和“Thymeleaf”作为依赖,点击“Next”,填写项目的Group和Artifact信息,点击“Finish”创建项目。

  1. 引入BootStrap依赖

打开项目的pom.xml文件,加入以下依赖:

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>bootstrap</artifactId>
    <version>4.6.0</version>
</dependency>
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>3.6.0</version>
</dependency>

这里我们使用了WebJars来管理BootStrap和jQuery的依赖。在使用WebJars时,我们不需要手动下载和配置这些依赖,只需要在pom.xml中引入即可。

  1. 创建一个Controller

我们创建一个UserController来处理用户相关的请求。在UserController中,我们使用Thymeleaf模板引擎来渲染页面。

@Controller
public class UserController {
    @GetMapping("/")
    public String index() {
        return "index";
    }
}

在上述代码中,我们使用@GetMapping注解来将URL映射到index()方法,这个方法返回“index”字符串,表示用Thymeleaf渲染index.html页面。

  1. 创建一个Thymeleaf模板

在src/main/resources/templates目录下,创建一个index.html文件,写入以下代码:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Spring Boot with Bootstrap Example</title>
    <link rel="stylesheet" th:href="@{/webjars/bootstrap/4.6.0/css/bootstrap.min.css}">
</head>
<body>
<div class="container">
    <div class="row">
        <div class="col-md-12">
            <h1 class="text-center">Spring Boot with Bootstrap Example</h1>
        </div>
    </div>
</div>
<script th:src="@{/webjars/jquery/3.6.0/jquery.min.js}"></script>
<script th:src="@{/webjars/bootstrap/4.6.0/js/bootstrap.min.js}"></script>
</body>
</html>

在上述代码中,我们引入了Bootstrap的CSS和JavaScript文件,并使用Thymeleaf的方式来引用WebJars中的文件,这样我们就可以在页面中使用Bootstrap了。

  1. 运行项目

现在我们可以运行项目并访问http://localhost:8080/来验证我们的代码是否正常工作。如果一切正常,页面应该会显示出一个带有“Spring Boot with Bootstrap Example”标题的页面。

示例1:整合BootStrap实现表格展示

在上述基础上,我们可以进一步实现BootStrap样式化展示数据。我们创建一个TestController来展示一个包含数据的表格:

@Controller
public class TestController {
    @GetMapping("/table")
    public String table(Model model) {
        List<Map<String, String>> data = new ArrayList<>();
        Map<String, String> map1 = new HashMap<>();
        map1.put("id", "1");
        map1.put("name", "Tom");
        map1.put("age", "20");
        data.add(map1);

        Map<String, String> map2 = new HashMap<>();
        map2.put("id", "2");
        map2.put("name", "Jerry");
        map2.put("age", "21");
        data.add(map2);

        model.addAttribute("data", data);

        return "table";
    }
}

在上述代码中,我们传入了一个包含两个Map的List,每个Map表示一行数据,其中包含id、name和age三个属性。最后,我们通过model.addAttribute方法将数据传递到页面中。

下面是一个包含表格的Thymeleaf模板:

<!DOCTYPE html>
<html xmlns:th="http://thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Bootstrap Table Example</title>
    <link rel="stylesheet" th:href="@{/webjars/bootstrap/4.6.0/css/bootstrap.min.css}">
</head>
<body>
<div class="container">
    <table class="table">
        <thead>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Age</th>
        </tr>
        </thead>
        <tbody>
        <tr th:each="item : ${data}">
            <td th:text="${item.id}"></td>
            <td th:text="${item.name}"></td>
            <td th:text="${item.age}"></td>
        </tr>
        </tbody>
    </table>
</div>
<script th:src="@{/webjars/jquery/3.6.0/jquery.min.js}"></script>
<script th:src="@{/webjars/bootstrap/4.6.0/js/bootstrap.min.js}"></script>
</body>
</html>

在上述代码中,我们使用了Bootstrap的表格样式,并使用了Thymeleaf循环遍历数据,并将数据渲染到表格中。

现在,我们可以访问http://localhost:8080/table来查看展示的数据表格。

示例2:整合BootStrap实现表单提交

在上述基础上,我们可以进一步实现BootStrap样式化表单。我们创建一个UserController来处理用户提交的表单,然后返回一个包含Bootstrap样式表单的页面:

@Controller
public class UserController {
    @GetMapping("/form")
    public String form(Model model) {
        model.addAttribute("user", new User());
        return "form";
    }

    @PostMapping("/form")
    public String submitForm(@ModelAttribute User user) {
        return "redirect:/success";
    }
}

在上述代码中,我们通过@GetMapping注解创建了一个form()方法来处理GET请求,向页面中传递了一个新的User对象。然后,我们通过@PostMapping注解创建了一个submitForm()方法来处理POST请求,接收提交的表单数据,并跳转到一个成功页面。

下面是一个包含Bootstrap样式的表单的Thymeleaf模板:

<!DOCTYPE html>
<html xmlns:th="http://thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Bootstrap Form Example</title>
    <link rel="stylesheet" th:href="@{/webjars/bootstrap/4.6.0/css/bootstrap.min.css}">
</head>
<body>
<div class="container">
    <form th:action="@{/form}" th:object="${user}" method="post">
        <div class="form-group">
            <label for="name">Name:</label>
            <input type="text" th:field="*{name}" class="form-control" id="name" placeholder="Enter name">
        </div>
        <div class="form-group">
            <label for="age">Age:</label>
            <input type="number" th:field="*{age}" class="form-control" id="age" placeholder="Enter age">
        </div>
        <div class="form-group">
            <label for="email">Email:</label>
            <input type="email" th:field="*{email}" class="form-control" id="email" placeholder="Enter email">
        </div>
        <button type="submit" class="btn btn-primary">Submit</button>
    </form>
</div>
<script th:src="@{/webjars/jquery/3.6.0/jquery.min.js}"></script>
<script th:src="@{/webjars/bootstrap/4.6.0/js/bootstrap.min.js}"></script>
</body>
</html>

在上述代码中,我们使用了Bootstrap的输入框样式,并使用了Thymeleaf来渲染输入框中的值。在form表单中,我们使用了th:object属性来引用一个名为“user”的对象,并使用了th:field属性来为输入框设置绑定值。

现在,我们可以访问http://localhost:8080/form来查看包含Bootstrap样式的表单,并提交数据查看效果。如果一切正常,应该会跳转到success页面。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合BootStrap实战 - Python技术站

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

相关文章

  • Java中几种常用数据库连接池的使用

    Java中几种常用数据库连接池的使用 数据库连接池是一个管理数据库连接的缓存机制,能够减少应用程序每次请求时打开和关闭数据库连接所消耗的时间,从而提高数据库的性能和吞吐量。Java中常用的数据库连接池有以下几种: Apache Commons DBCP C3P0 HikariCP 下面我们将介绍如何使用以上三种数据库连接池以及它们之间的比较。 Apache …

    Java 2023年6月15日
    00
  • SpringBoot自动配置源码深入刨析讲解

    SpringBoot自动配置源码深入刨析讲解 SpringBoot自动配置是SpringBoot所提供的最为强大的功能之一。通过自动配置,我们可以很轻松地配置Spring应用程序,并且省去了很多配置的烦恼。 SpringBoot自动配置源码其实并不神秘,只要我们深入掌握其实现原理,就可以灵活地使用和定制自己的配置。 SpringBoot自动配置原理 Spri…

    Java 2023年5月15日
    00
  • mybatis对于list更新sql语句的写法说明

    当我们需要对列表数据进行更新时,MyBatis提供了一些方便的写法。下面将对mybatis对于list更新sql语句的写法进行详细讲解: update语句的基本写法 MyBatis对于update语句的写法与一般的SQL语句一致,使用update关键字指定更新表,使用set关键字指定列的新值,使用where关键字指定更新的条件。 update user se…

    Java 2023年5月20日
    00
  • Java的Struts框架中配置国际化的资源存储的要点解析

    Java的Struts框架支持使用国际化(i18n)来为不同语言的用户提供不同的用户界面。在Struts中配置国际化的资源存储主要包括三个要点,分别是资源文件的命名规则、资源文件的组织结构以及使用资源文件的方法。 资源文件的命名规则 Struts框架支持使用.properties文件来存储国际化资源信息,文件的名称要遵循一定的命名规则。文件名由以下三部分组成…

    Java 2023年5月20日
    00
  • springmvc4+hibernate4分页查询功能实现

    让我来详细讲解一下“springmvc4+hibernate4分页查询功能实现”的完整攻略。 1. 前言 在开发Web应用过程中,分页查询功能是经常会用到的一项功能。SpringMVC和Hibernate是当前较为流行的Web开发框架,结合起来使用可以实现很好的分页功能。下面,我们将详细说明如何使用SpringMVC和Hibernate实现分页查询功能。 2…

    Java 2023年6月15日
    00
  • java简单实现复制 粘贴 剪切功能代码分享

    Java简单实现复制、粘贴、剪切功能 1. 实现方式 Java实现复制、粘贴、剪切功能可以使用AWT和Swing的内置类实现,也可以通过API实现。 1.1 使用AWT、Swing类实现 Java的AWT和Swing类库中提供了对剪切板(Clipboard)的支持。可以通过Toolkit类的getSystemClipboard方法获取系统剪切板。 Java提…

    Java 2023年5月27日
    00
  • 聊聊Spring——AOP详解(AOP概览)

    我来详细讲解一下 “聊聊Spring——AOP详解(AOP概览)” 这篇文章的完整攻略。 什么是AOP AOP(Aspect-Oriented Programming)是一种编程思想,它通过将横切关注点(Cross-cutting Concern)从主业务逻辑中分离出来,将其封装为一种独立的模块化方式,从而使程序结构更加清晰,维护更加方便。 AOP的术语 J…

    Java 2023年5月19日
    00
  • Java 二叉树遍历特别篇之Morris遍历

    Java 二叉树遍历特别篇之 Morris 遍历 简介 Morris 遍历是一种基于线索二叉树的遍历方式,它利用了二叉树中大量的空指针,将遍历的信息存储在空指针中,从而省去了递归和栈的空间消耗。这种遍历方式的时间复杂度为 $O(n)$,空间复杂度为 $O(1)$,因此比递归和栈的遍历方式更加高效。 本文将对 Morris 遍历进行详细的讲解,并提供两条示例说…

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