位置: IT常识 - 正文

Spring Boot 整合 Bootstrap(spring boot整合hibernate)

编辑:rootadmin
Spring Boot 整合 Bootstrap Spring Boot 整合 Bootstrap一、添加 Bootstrap 依赖二、配置静态资源三、创建一个 Bootstrap 页面运行程序五、使用 Bootstrap 组件高级用法:使用 Thymeleaf 和 Bootstrap使用CDN加速加载Bootstrap资源使用Thymeleaf Layoutsindex.html一、添加 Bootstrap 依赖

推荐整理分享Spring Boot 整合 Bootstrap(spring boot整合hibernate),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:spring boot整合aop,springboot整合bootstrap,spring boot整合ssm,spring boot整合aop,Spring boot 整合项目,spring boot整合ssm,springboot整合bootstrap,Spring boot 整合项目 清华大学,内容如对您有帮助,希望把文章链接给更多的朋友!

在 pom.xml 文件中添加以下依赖:

<dependency> <groupId>org.webjars</groupId> <artifactId>bootstrap</artifactId> <version>5.1.3</version></dependency>

这里使用 WebJars 来管理 Bootstrap 的依赖,它可以将前端框架作为一个 jar 包进行引用,方便管理和升级。

二、配置静态资源

在 Spring Boot 项目中,静态资源默认放置在 src/main/resources/static 目录下。因此,我们需要将 Bootstrap 的静态资源也放置在该目录下。

在 src/main/resources/static 目录下新建一个名为webjars的目录。在 webjars 目录下新建一个名为 bootstrap 的目录。将 bootstrap-5.1.3 目录中的 css、js和 fonts 三个子目录复制到src/main/resources/static/webjars/bootstrap 目录下。

这样,我们就成功将 Bootstrap 的静态资源放置在了 Spring Boot 项目的静态资源目录下。

三、创建一个 Bootstrap 页面<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Spring Boot + Bootstrap</title> <link rel="stylesheet" href="/webjars/bootstrap/css/bootstrap.min.css"></head><body> <div class="container"> <h1>Hello, Spring Boot!</h1> </div> <script src="/webjars/bootstrap/js/bootstrap.min.js"></script></body></html>运行程序Spring Boot 整合 Bootstrap(spring boot整合hibernate)

访问 http://localhost:8080,应该能看到一个带有标题的页面,这就说明我们已经成功地整合了 Bootstrap 前端框架。

五、使用 Bootstrap 组件

除了引入 Bootstrap 的样式和脚本文件外,我们还可以使用 Bootstrap 提供的组件来构建页面。以下是一个使用 Bootstrap 栅格系统和表单组件的示例:

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Spring Boot + Bootstrap</title> <link rel="stylesheet" href="/webjars/bootstrap/css/bootstrap.min.css"></head><body> <div class="container"> <h1>Hello, Spring Boot!</h1> <div class="row"> <div class="col-md-6"> <form> <div class="form-group"> <label for="inputName">Name</label> <input type="text" class="form-control" id="inputName" placeholder="Enter your name"> </div> <div class="form-group"> <label for="inputEmail">Email</label> <input type="email" class="form-control" id="inputEmail" placeholder="Enter your email"> </div> <button type="submit" class="btn btn-primary">Submit</button> </form> </div> </div> </div> <script src="/webjars/bootstrap/js/bootstrap.min.js"></script></body></html>

在这个页面中,我们使用了 Bootstrap 的栅格系统来将表单组件布局为两列,使用了表单组件来收集用户的姓名和电子邮件地址,并使用了按钮组件来提交表单。

高级用法:使用 Thymeleaf 和 Bootstrap

除了手动编写 HTML 页面外,我们还可以使用 Thymeleaf 模板引擎来结合 Bootstrap 来构建页面。下面是一个使用 Thymeleaf 和 Bootstrap 的示例:

<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head> <meta charset="UTF-8"> <title>Spring Boot + Bootstrap + Thymeleaf</title> <link rel="stylesheet" href="/webjars/bootstrap/css/bootstrap.min.css"></head><body> <div class="container"> <h1>Hello, Spring Boot!</h1> <div class="row"> <div class="col-md-6"> <form th:action="@{/submit}" method="post"> <div class="form-group"> <label for="inputName">Name</label> <input type="text" class="form-control" id="inputName" placeholder="Enter your name" th:field="*{name}"> </div> <div class="form-group"> <label for="inputEmail">Email</label> <input type="email" class="form-control" id="inputEmail" placeholder="Enter your email" th:field="*{email}"> </div> <button type="submit" class="btn btn-primary">Submit</button> </form> </div> </div> </div> <script src="/webjars/bootstrap/js/bootstrap.min.js"></script></body></html>

在这个页面中,我们使用了 Thymeleaf 的表达式语言来动态地生成表单组件,使用了 Thymeleaf 的表单绑定来将表单数据绑定到模型对象上。使用 Thymeleaf 可以让我们更加便捷地生成 HTML 页面,并且提供了强大的表达式语言来处理页面逻辑。

使用CDN加速加载Bootstrap资源

在生产环境中,为了加速页面加载速度,我们可以将 Bootstrap 的静态资源文件放在 CDN 上。这样可以减少服务器的压力,并且可以利用 CDN 的分布式网络加速页面加载。以下是一个使用 CDN 加速加载 Bootstrap 资源的示例:

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Spring Boot + Bootstrap</title> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.2/css/bootstrap.min.css"></head><body> <div class="container"> <h1>Hello, Spring Boot!</h1> <div class="row"> <div class="col-md-6"> <form> <div class="form-group"> <label for="inputName">Name</label> <input type="text" class="form-control" id="inputName" placeholder="Enter your name"> </div> <div class="form-group"> <label for="inputEmail">Email</label> <input type="email" class="form-control" id="inputEmail" placeholder="Enter your email"> </div> <button type="submit" class="btn btn-primary">Submit</button> </form> </div> </div> </div> <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.3.2/js/bootstrap.min.js"></script></body></html>使用Thymeleaf Layouts

在使用 Thymeleaf 和 Bootstrap 构建页面时,我们还可以使用 Thymeleaf Layouts 来更加方便地组织页面结构。Thymeleaf Layouts 是一款 Thymeleaf 模板引擎的扩展,提供了布局和片段的功能,可以让我们更加方便地重用页面结构。以下是一个使用 Thymeleaf Layouts 的示例:

<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"><head> <meta charset="UTF-8"> <title layout:title-pattern="$LAYOUT_TITLE - $CONTENT_TITLE">Spring Boot + Bootstrap</title> <link rel="stylesheet" th:href="@{/webjars/bootstrap/css/bootstrap.min.css}"></head><body> <header layout:fragment="header"> <nav class="navbar navbar-expand-lg navbar-light bg-light"> <a class="navbar-brand" href="#">Navbar</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav"> <li class="nav-item active"> <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a> </li> <li class="nav-item"> <a class="nav-link" href="#">Features</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Pricing</a> </li> </ul> </div> </nav> </header> <div class="container"> <section layout:fragment="content"></section> </div> <script th:src="@{/webjars/jquery/jquery.min.js}"></script> <script th:src="@{/webjars/bootstrap/js/bootstrap.min.js}"></script></body></html>

在这个页面中,我们定义了一个 layout 命名空间,并使用 layout 命名空间中的 title-pattern 属性来动态设置页面标题。在 header 片段中定义了导航栏,而 content 片段则留给子页面来填充。

index.html<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorate="layout"><head> <meta charset="UTF-8"> <title>Home</title></head><body> <header layout:fragment="header"></header> <section layout:fragment="content"> <h1>Hello, Spring Boot!</h1> <div class="row"> <div class="col-md-6"> <form> <div class="form-group"> <label for="inputName">Name</label> <input type="text" class="form-control" id="inputName" placeholder="Enter your name"> <div class="form-group"> <label for="inputEmail">Email address</label> <input type="email" class="form-control" id="inputEmail" placeholder="Enter your email"> </div> <div class="form-group"> <label for="inputPassword">Password</label> <input type="password" class="form-control" id="inputPassword" placeholder="Enter your password"> </div> <button type="submit" class="btn btn-primary">Submit</button> </form> </div> <div class="col-md-6"> <img src="https://picsum.photos/500/300" alt="Random image" class="img-fluid"> </div> </div></section></body></html>

在子页面中,我们使用 layout:decorate 属性来引用 layout.html,并使用 header 和 content 片段来填充导航栏和主要内容。在主要内容中,我们使用 Bootstrap 的表单和网格系统来创建一个登录表单和一个随机图片。

本文链接地址:https://www.jiuchutong.com/zhishi/298775.html 转载请保留说明!

上一篇:JavaScript-百炼成仙(第1节掌握JavaScript基础1.1-1.21)(javascript百炼成仙免费)

下一篇:【第二趴】uni-app开发工具(手把手带你安装HBuilderX、搭建第一个多端项目初体验)

  • 苹果13怎么设置来电闪光灯(苹果13怎么设置墙纸和主屏幕不一样)

    苹果13怎么设置来电闪光灯(苹果13怎么设置墙纸和主屏幕不一样)

  • 京东自营过了7天还能退货吗(京东自营过了7天不能退货怎么办)

    京东自营过了7天还能退货吗(京东自营过了7天不能退货怎么办)

  • 台式电脑亮度在哪里调节(台式电脑亮度在哪里调节win7)

    台式电脑亮度在哪里调节(台式电脑亮度在哪里调节win7)

  • 抖音极速版私信在哪里(抖音极速版私信怎么删除)

    抖音极速版私信在哪里(抖音极速版私信怎么删除)

  • 滴滴单子少是什么原因(滴滴单子少怎么办)

    滴滴单子少是什么原因(滴滴单子少怎么办)

  • 现场总线协议应用层分为哪两个子层(现场总线协议的三个基本要素为底层协议)

    现场总线协议应用层分为哪两个子层(现场总线协议的三个基本要素为底层协议)

  • 小米手机已连接wifi但无法访问互联网(小米手机已连接(不可上网)怎么解决)

    小米手机已连接wifi但无法访问互联网(小米手机已连接(不可上网)怎么解决)

  • 抖音开店保证金要多少(抖音开店保证金多少钱可以退吗)

    抖音开店保证金要多少(抖音开店保证金多少钱可以退吗)

  • 荣耀v10有红外功能吗(honor v10有没有红外)

    荣耀v10有红外功能吗(honor v10有没有红外)

  • 手机卡老是没信号无服务是什么意思(手机卡老是没信号无服务重启后好了)

    手机卡老是没信号无服务是什么意思(手机卡老是没信号无服务重启后好了)

  • 怎样解除免密支付微信(怎样解除免密支付功能抖音)

    怎样解除免密支付微信(怎样解除免密支付功能抖音)

  • 机械键盘不亮了怎么办(机械键盘不亮了怎么弄)

    机械键盘不亮了怎么办(机械键盘不亮了怎么弄)

  • 韩剧tv在电视机上叫什么软件

    韩剧tv在电视机上叫什么软件

  • vivoy71a手机卡了怎么办(vivo手机卡住了咋办)

    vivoy71a手机卡了怎么办(vivo手机卡住了咋办)

  • lan1是什么接口(lan接口有什么区别)

    lan1是什么接口(lan接口有什么区别)

  • 录屏可以录多久(苹果手机录屏可以录多久)

    录屏可以录多久(苹果手机录屏可以录多久)

  • a57是不是全网通(a53全网通)

    a57是不是全网通(a53全网通)

  • iPad?Air2与iPad?mini3有什么区别(ipadair2与ipadmini5哪个好)

    iPad?Air2与iPad?mini3有什么区别(ipadair2与ipadmini5哪个好)

  • 手机突然显示不显卡什么原因(手机突然显示不可上网)

    手机突然显示不显卡什么原因(手机突然显示不可上网)

  • 电脑爱奇艺怎么切换账号(电脑爱奇艺怎么下载视频)

    电脑爱奇艺怎么切换账号(电脑爱奇艺怎么下载视频)

  • mini8拍立得使用方法(拍立得mini8使用教程)

    mini8拍立得使用方法(拍立得mini8使用教程)

  • 快手直播间怎么开歌房(快手直播间怎么挂小黄车)

    快手直播间怎么开歌房(快手直播间怎么挂小黄车)

  • 腾讯会员怎么在微信开通(腾讯会员怎么在手机上扫码登录)

    腾讯会员怎么在微信开通(腾讯会员怎么在手机上扫码登录)

  • excel反选(Excel反选删除)

    excel反选(Excel反选删除)

  • 手环怎么调时间和日期(oppo手环怎么调时间)

    手环怎么调时间和日期(oppo手环怎么调时间)

  • 宝塔面板腾讯云COS的挂载与卸载(宝塔linux面板 7.5.2 腾讯云专享版)

    宝塔面板腾讯云COS的挂载与卸载(宝塔linux面板 7.5.2 腾讯云专享版)

  • echarts入门基础教程(echarts快速上手)

    echarts入门基础教程(echarts快速上手)

  • 个税年度汇算清缴开始时间
  • 期末留抵税额是怎么产生的
  • 资源税征收原则
  • 冲回多提的坏账准备分录为
  • 托收承付和委托收款的含义和相同之处
  • 可供出售金融资产公允价值变动
  • 开票资料银行必须填写吗
  • 少做收入第二年怎么算
  • 公司购车入固定资产包括哪些
  • 确认以前年度收入怎么做账
  • 支付拆迁补偿款
  • 符合营改增应税服务规定的有
  • 非独立核算的分公司是法人主体吗
  • 发票抬头是繁体字怎么办
  • 代开专票退票流程及说明
  • 零星费用没有发票报销可以做入工资吗
  • 非房地产开发企业土地增值税扣除项目
  • 小规模纳税人如何交增值税
  • 汇丰银行账户管理费
  • windowsmodulesinstaller占用cpu
  • 注册会计师考试成绩查询2023
  • 上期金额为上年同期报表的本期金额
  • 调解仲裁法什么时候实施
  • 劳务公司怎么做成本
  • 文件错误会追究拟稿人吗
  • 土地使用税滞纳金不得超过
  • 企业支付给员工的一次性伤残就业补助金计入什么科目
  • 净亏损会影响所有者权益吗
  • 前端面试题什么是网络协议
  • AI - stable-diffusion(AI绘画)的搭建与使用
  • 论文阅读网站排行榜
  • laravel实战教程
  • 应收账款未计提怎么处理
  • css文件代码示例
  • 中国互联网创业成功的年轻人
  • 固定收益票据
  • 装修工程是可以做什么的
  • 增值税发票抵扣联的作用
  • 文化事业建设费报告表
  • 应付账款主要账户有哪些
  • 房屋维修基金帐户处理办法
  • 对方多开票怎么处理
  • 暂估入库的库存商品转成本吗
  • 坏帐损失的税务处理
  • 盘亏盘盈的会计处理
  • 应交增值税为什么在借方
  • 一般纳税人纳税申报表
  • 制造费用月末怎么结转到生产成本
  • 私人网银可以转账吗
  • 银行存款手工账
  • 收到现金货款存入银行会计分录
  • 设置行政机构的主要依据是
  • phpmyadmin配置文件
  • 自定义设置微信来电铃声
  • win10的java环境该怎么配置?java环境变量配置介绍
  • windosxp无法启动
  • 七喜r11c笔记本
  • 在bois如何设置C盘启动
  • 手机找回删除的文件
  • 使用速度最快的手机
  • win8系统摄像头在哪里打开
  • windows10用法
  • linux系统怎么弄
  • unity www读取本地视频文件和外部视频文件 播放视频动画和视频声音
  • shader cull
  • 问题的英语怎么读
  • jQuery的extend方法【三种】
  • android基础入门教程
  • 用户dsn添加
  • javascript例题
  • javascript怎么用
  • java 调试
  • javascript总结笔记
  • 用python做一个贪吃蛇
  • jQuery AJAX timeout 超时问题详解
  • Android之Broadcast与BroadcastReceiver
  • 江宁市民之家上班时间?
  • 未开票收入如何申报增值税
  • 高速公路过路费电子发票在哪里开
  • 记账凭证编制的依据可以用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设