位置: 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、搭建第一个多端项目初体验)

  • 红米note11pro有耳机孔吗(红米note11pro有耳机设置吗)

    红米note11pro有耳机孔吗(红米note11pro有耳机设置吗)

  • 朋友圈怎么看别人有没有屏蔽你(朋友圈怎么看别人是否浏览过)

    朋友圈怎么看别人有没有屏蔽你(朋友圈怎么看别人是否浏览过)

  • 苹果平板怎么投屏到电视机上(苹果平板怎么投屏小米电视)

    苹果平板怎么投屏到电视机上(苹果平板怎么投屏小米电视)

  • 苹果xr有没有指纹解锁(苹果xr有没有指纹功能)

    苹果xr有没有指纹解锁(苹果xr有没有指纹功能)

  • 机械键盘个别键位失灵(机械键盘个别键手感不同)

    机械键盘个别键位失灵(机械键盘个别键手感不同)

  • 以太网的接口类型是什么(以太网接口包括)

    以太网的接口类型是什么(以太网接口包括)

  • 苹果11抖音怎么看好友在不在线(苹果11抖音怎么录屏别人直播)

    苹果11抖音怎么看好友在不在线(苹果11抖音怎么录屏别人直播)

  • 小米手机来电彩铃怎么设置(小米手机来电彩铃哪里可以设置)

    小米手机来电彩铃怎么设置(小米手机来电彩铃哪里可以设置)

  • 验证码是什么密码(验证码是什么密码怎么查)

    验证码是什么密码(验证码是什么密码怎么查)

  • 硬盘内存一般多大(硬盘内存多少够用)

    硬盘内存一般多大(硬盘内存多少够用)

  • 登别人美团会有提醒吗(登别人美团会有记录吗)

    登别人美团会有提醒吗(登别人美团会有记录吗)

  • 手机网络运营商无服务怎么办(手机网络运营商在哪)

    手机网络运营商无服务怎么办(手机网络运营商在哪)

  • 淘宝商家可以看到客户哪些信息(淘宝商家可以看到客户的电话号码吗?)

    淘宝商家可以看到客户哪些信息(淘宝商家可以看到客户的电话号码吗?)

  • 路由表信息包括哪些内容(路由表信息中的含义)

    路由表信息包括哪些内容(路由表信息中的含义)

  • 苹果lla支持什么网络(苹果ll支持什么网络)

    苹果lla支持什么网络(苹果ll支持什么网络)

  • 手机号码封号了怎么办(手机号码封号了会自动解封吗)

    手机号码封号了怎么办(手机号码封号了会自动解封吗)

  • 微信语音通话能打多久(微信语音通话能听到其他软件的声音)

    微信语音通话能打多久(微信语音通话能听到其他软件的声音)

  • 全民k歌自定义怎么调好听(全民K歌自定义音效最佳方案)

    全民k歌自定义怎么调好听(全民K歌自定义音效最佳方案)

  • 陀螺仪灵敏度怎么调(陀螺仪灵敏度怎么调好压枪)

    陀螺仪灵敏度怎么调(陀螺仪灵敏度怎么调好压枪)

  • apple watch series4怎么调整屏幕亮度

    apple watch series4怎么调整屏幕亮度

  • 京东购物如何使用商品对比的功能(京东购物如何使用白条支付)

    京东购物如何使用商品对比的功能(京东购物如何使用白条支付)

  • 小米5x出厂设置在哪里(小米5x重置)

    小米5x出厂设置在哪里(小米5x重置)

  • 5g电话是什么意思(5g是什么意思指的是手机还是手机卡)

    5g电话是什么意思(5g是什么意思指的是手机还是手机卡)

  • 苹果x手机录屏功能在哪里(苹果X手机录屏为什么没有声音)

    苹果x手机录屏功能在哪里(苹果X手机录屏为什么没有声音)

  • 用Python来统计本机CPU利用率(python进行统计分析)

    用Python来统计本机CPU利用率(python进行统计分析)

  • 个人所得税申报截止时间
  • 劳务工报价单
  • 研发人员差旅费可以资本化吗
  • 以银行存款支付水电费
  • 等额本息还款的特点
  • 残保金属于税种吗
  • 国债利息收入免征增值税
  • 增值税进项抵扣怎么做账
  • 个人劳务费 税
  • 没有收入的小规模纳税人可以无票入费用吗?
  • 销项负数发票原发票还有用吗?
  • 增值税专用发票抵扣联
  • 以旧换新帐务处理
  • 出售资产时递延所得税怎么处理
  • 建设期利息对当年的借款如何计息?
  • 民非企业购买低保政策
  • 预付账款下月做什么科目
  • 美元转到中国账户可不可以取人民币
  • 国税的应交税款在地税的财务报表上怎么填?
  • 国债逆回购收益什么时候到账
  • 投资款需要交印花税嘛
  • 营改增后营业外收入交增值税吗?
  • 杨志勇财政
  • 计划成本法如何计算材料成本差异率
  • 业主委员会的收益
  • 科研项目经费怎么填
  • 1697508019
  • 出口业务类型怎么写
  • 预计负债怎么计提递延所得税资产
  • 逾期交房违约金怎么算
  • 上月留抵的增值税在哪查询
  • 通过拍卖取得的车牌号,过期了怎么办
  • 财产清查的方法和财产清查结果的会计处理
  • 国家高新技术企业认定评分标准
  • 赠品如何做兑换码
  • 外汇账户转账有手续费吗
  • 高新企业政府补贴政策
  • vue实现打印
  • 玄武湖公园游玩
  • 增值税申报主表在哪里查询
  • package.json详解
  • video.js教程
  • php禁用system用什么绕过
  • 应收贷方有余额怎么调整
  • 帝国cms图片显示不了
  • 开发票时有哪些规定呢?
  • mysql全局锁和表锁
  • 销售商品的收入属于收入吗
  • 小规模收到成本发票分录
  • mongodb索引使用正则表达式
  • 现金流量表存货增加额怎么算
  • 企业所得税会计利润总额计算公式
  • macos mysql安装
  • 房地产企业增值税预征率
  • 本年利润亏损还需要交所得税吗
  • 小规模减免税款会计分录
  • 企业促销费用项目有哪些
  • 会计丁字记账法
  • 年金现值的含义
  • 售后回租如何做会计处理
  • 资产基金账务处理
  • 发工资四舍五入多了几块钱怎么办
  • 购买原材料产生的运费计入什么科目
  • 印花税的范畴
  • 废品相关内容有哪些
  • 开房租租赁发票怎么记账?
  • 累计折旧税率
  • 什么是关联企业?关联企业之间业务往来
  • 私营企业固定资产法律制度
  • windows service 2003
  • 在windows七中
  • 2021年win10累积更新
  • win 8系统怎么样
  • jquery中validate
  • 收集linux日志
  • 服务端测试是什么意思
  • 支付给境外的特许权使用费
  • 怎样查询灵活就业养老保险缴费记录
  • 贵阳北控水务电话客服电话
  • 企业所得税改革
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设