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

  • qq财付通怎么解除绑定(qq财付通怎么解绑身份)

    qq财付通怎么解除绑定(qq财付通怎么解绑身份)

  • 表格自动乘怎么弄(表格如何自动乘)

    表格自动乘怎么弄(表格如何自动乘)

  • 苹果手机插优盘没反应(苹果手机插优盘从哪里打开)

    苹果手机插优盘没反应(苹果手机插优盘从哪里打开)

  • wps格式是什么意思(wps格式是什么格式)

    wps格式是什么意思(wps格式是什么格式)

  • 华为聊天记录怎么能恢复(华为聊天记录怎么彻底删除)

    华为聊天记录怎么能恢复(华为聊天记录怎么彻底删除)

  • 路由器和机顶盒的区别(路由器和机顶盒灯都不亮)

    路由器和机顶盒的区别(路由器和机顶盒灯都不亮)

  • 扫描仪一般不使用哪个接口(扫描仪一般不使用的原因)

    扫描仪一般不使用哪个接口(扫描仪一般不使用的原因)

  • mate20屏幕刷新率(mate20屏幕刷新率怎么调)

    mate20屏幕刷新率(mate20屏幕刷新率怎么调)

  • 一个手机号能注册几个lofter(一个手机号能注册几个QQ)

    一个手机号能注册几个lofter(一个手机号能注册几个QQ)

  • st500dm002是什么硬盘(st500dm009)

    st500dm002是什么硬盘(st500dm009)

  • ios13.3费电吗(ios13.3耗电怎么样)

    ios13.3费电吗(ios13.3耗电怎么样)

  • 电脑下载excel怎么下载

    电脑下载excel怎么下载

  • 博朗耳温枪提示err什么意思(博朗耳温枪提示err)

    博朗耳温枪提示err什么意思(博朗耳温枪提示err)

  • 京东显示调货商品是什么意思(京东显示调货商品是正品吗)

    京东显示调货商品是什么意思(京东显示调货商品是正品吗)

  • 怎样调home键(怎么调home键)

    怎样调home键(怎么调home键)

  • 华为手机咋看电池寿命(华为手机咋看电池好不好了)

    华为手机咋看电池寿命(华为手机咋看电池好不好了)

  • vivo悬浮球怎么开启(vivo悬浮球怎么设置)

    vivo悬浮球怎么开启(vivo悬浮球怎么设置)

  • 手机文件管理怎么清理(手机文件管理怎样清理垃圾)

    手机文件管理怎么清理(手机文件管理怎样清理垃圾)

  • 拼多多复活卡找不到了(拼多多复活卡可以复活砍价免费拿吗)

    拼多多复活卡找不到了(拼多多复活卡可以复活砍价免费拿吗)

  • 酷我音乐怎么找到k歌(酷我音乐怎么找微信好友)

    酷我音乐怎么找到k歌(酷我音乐怎么找微信好友)

  • 快手直播怎么看具体人数(快手直播怎么看在线人数)

    快手直播怎么看具体人数(快手直播怎么看在线人数)

  • 学习通如何退出班级

    学习通如何退出班级

  • oppoa9可以卸载语音助手吗(oppo手机如何卸载语音助手)

    oppoa9可以卸载语音助手吗(oppo手机如何卸载语音助手)

  • 8p双摄像头怎么打开(8p两个摄像头)

    8p双摄像头怎么打开(8p两个摄像头)

  • iphonexs截屏快捷键(iphonexs如何截屏快照)

    iphonexs截屏快捷键(iphonexs如何截屏快照)

  • 三星手机如何投屏到电视(三星手机如何投屏到ipad)

    三星手机如何投屏到电视(三星手机如何投屏到ipad)

  • adb.exe是什么进程 adb.exe命令详解(adb是什么程序)

    adb.exe是什么进程 adb.exe命令详解(adb是什么程序)

  • 个税专项附加继续教育
  • 补贴收入属于什么分配
  • 没有购置税发票有影响吗
  • 合法有效的凭证
  • 个税起征点调整至5000
  • 无形资产的加计扣除为什么不影响应纳税所得额
  • 契税和车辆购置税的异同
  • 预缴两个点的税是什么意思
  • 小规模纳税人免征增值税怎么记账
  • 残保金工资总额怎么算
  • 开票税额与申报税额差一分账务怎么处理
  • 固定资产折旧率是多少
  • 向境外分配股息怎样算税额
  • 代收代付快递货款需要发票吗,中间差额服务费怎么开票?
  • 公司有残疾人员怎么办
  • 党费返还款怎么做分录
  • windows登录提示
  • mac怎么连接校园网网线
  • 鸿蒙侧边菜单
  • 主营业务成本的二级科目有哪些
  • win10 net framework 3.5 离线
  • PHP Warning:PHP Startup: in Unknown on line 0解决办法
  • 银行代扣的年费怎么退
  • 员工的餐费补助怎么算
  • 总公司的固定资产可以划转子公司
  • 跨年收到退回增值税税款的账务处理
  • wordpress注册界面
  • php获取中文字符串长度
  • php调用soap
  • 企业常用的成本核算方法有哪些
  • 付临时工资怎么入账
  • 什么情况下计提信用减值损失
  • 建筑企业项目部开户
  • 固定资产清理如何结转
  • php二维码解码
  • 增资的会计处理方法
  • php 调试工具
  • 建筑安装企业核定征收企业所得税
  • laravel auth:api
  • 银行存款日记账对方科目写什么
  • 邓弗里斯什么水平
  • 机票的退票费可以开具发票吗
  • Laravel 5.3 学习笔记之 配置
  • 冲红发票操作流程
  • 织梦cms不更新了吗
  • css的flex:1
  • 织梦cms要钱吗
  • url静态化怎么操作
  • 农副产品免税了还需要缴纳个人所得税吗
  • 环保税的算法
  • 个税专项附加扣除标准调整
  • 土地增值税中开发间接费用工资包括哪些人
  • 公司对公账户转给个人
  • 买一赠一涉及企业所得税的处理
  • 进口增值税与关税发票哪里打印?
  • 非包销的视同买断的账务处理是?
  • 会计报表怎么算
  • 一般纳税人支付的哪些增值税进项税额不能抵扣
  • mysql中的where子句
  • mysql 5.7.22安装教程
  • windows update client
  • win7关机很慢是什么原因
  • linux虚拟局域网搭建
  • windows内核版本9600
  • xp系统桌面图标不见了,点什么都没用?
  • imac家长控制
  • Linux开机启动文件
  • windows 8 1
  • win7如何删除网络上的其它计算机
  • win8鼠标右键无法弹出菜单
  • win8.1如何设置
  • 被人遗忘的明星
  • 页里面 CDATA的作用说明
  • Unity3D面试题整合
  • unity g
  • jquery 鼠标
  • 在jquery中fadein
  • Python线程进程协程
  • python嵌套列表怎么遍历
  • 合肥地税局上班时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设