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中Arrays数组工具类的基本使用详解

    Java中Arrays数组工具类的基本使用详解 简介 Arrays类是java.util包中提供的一个工具类。它针对数组提供了很多有用的方法。这些方法帮助我们完成了数组复制、排序、查找、修改等操作。通过使用Arrays类,用户能够在不使用检查或转换的情况下操作各种类型的数组。 Arrays类的常用方法 1.排序 使用Arrays类排序的方法,可以根据默认的升…

    Java 2023年5月26日
    00
  • 详解Java的位操作符

    详解Java的位操作符 在Java编程中,位操作符是十分重要的操作符之一。它可以对数字进行位运算,通过改变二进制数的位来实现一些比较复杂的操作。本文将详细讲解Java的位操作符。 按位与(&)操作符 按位与操作符”&”主要用于对二进制数进行与运算。如果两个位都是1,那么结果就是1,否则结果就是0。下面是一个示例: int a = 6; int…

    Java 2023年5月26日
    00
  • crawler4j抓取页面使用jsoup解析html时的解决方法

    以下是“crawler4j抓取页面使用jsoup解析html时的解决方法”的完整攻略。 问题描述 在使用crawler4j抓取网页并使用jsoup解析HTML时,可能会出现以下问题:1. 无法解析一些页面,出现NullPointerException。2. 解析的结果与实际页面不符。 解决方法 为了解决上述问题,我们可以做以下几步。 步骤一:设置User-A…

    Java 2023年5月20日
    00
  • java jackson 将对象转json时,忽略子对象的某个属性操作

    要忽略 Jackson 序列化对象中子对象的某个属性,可以使用 Jackson 的注解 @JsonIgnore 或 @JsonIgnoreProperties。下面是详细攻略: 1. @JsonIgnoreProperties @JsonIgnoreProperties 注解可以添加到需要进行序列化和反序列化的类上,以忽略某些属性。比如说有一个 User 类…

    Java 2023年5月20日
    00
  • 图文详解Java的反射机制

    图文详解Java的反射机制 什么是Java的反射机制 Java的反射机制指的是通过程序来访问、检测、修改已编译的代码中的信息。在运行时,Java程序可以获取类的信息、构造方法、方法、属性等。 反射机制的优点 使用Java的反射机制可以增强程序的灵活性、可扩展性和封装性。具体来说,反射机制可以提高代码的复用性,增加代码的动态性,并使程序的设计更加灵活和可扩展。…

    Java 2023年5月26日
    00
  • Java实现文件分割和文件合并实例

    Java实现文件分割和文件合并实例攻略 在Java中,我们可以使用文件分割和文件合并的方法来对大型文件进行操作,这对于上传、备份、传输文件等操作非常有用。下面是实现该方法的攻略。 文件分割 文件分割是将大型文件拆分为多个小文件,每个小文件的大小通常相等,方便进行上传、备份等操作。下面是Java实现文件分割的示例代码: import java.io.*; pu…

    Java 2023年5月20日
    00
  • java基于jdbc连接mysql数据库功能实例详解

    Java基于JDBC连接MySQL数据库功能实例详解 前言 在Java程序中,经常需要使用数据库进行数据的存储和读取,而MySQL是广泛使用的开源关系型数据库之一。本文讲解使用Java的JDBC API连接MySQL数据库的方法和步骤,以及常见的增删查改操作。 步骤 1. 导入JDBC驱动 使用Java访问MySQL数据库需要导入MySQL JDBC连接驱动…

    Java 2023年5月19日
    00
  • MyBatis SqlSource源码示例解析

    首先让我们来了解”MyBatis SqlSource源码”是什么。 MyBatis是一个流行的Java ORM框架,与Hibernate和JPA等ORM框架相比,它更加灵活和可定制,它可以根据不同的需求进行配置。MyBatis SqlSource源码实现了构建不同SQL Statement的功能。 接下来,我们将会提供两个示例,帮助你更好地理解MyBatis…

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