springboot实现前后端调用axios异步请求(后端单体服务器static部分)

news2024/11/16 5:46:37

目的:让页面调用controller,将数据加载到页面中(只不过这个前端页面我们直接就是放到了static里面了)。

第一步:导入文件

所需要的文件见本文最后“文件获取”:

(1)文件如下:

(2)全选并复制:

(3)粘贴到项目目录中去

第二步:使用clean进行刷新

(1)点击右侧clean

(2)clean成功

如果没有clean成功,提示Error running 'demo4 [clean]' No valid Maven installation found. Either set the home directory in the configuration dialog or set the M2_HOME environment variable on your system,出现这种错误看我的博客:http://t.csdnimg.cn/Dd9ex

(3)第三步:开始运行

(1)输入以下链接并回车

注意:我用的是8080,如果你用的是别的,需要自行改一下。

http://localhost:8080/pages/fuels.html

第四步:代码知识详解

(1)<head>标签

定义了所有的头部信息,以及样式表的导入,以及页面的链接标题。

代码位置如下:

代码为:

<head>
    <!-- 页面meta -->
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>springboot实现fuel静态页面的展示</title>
    <meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport">
    <!-- 引入样式 -->
    <link rel="stylesheet" href="../plugins/elementui/index.css">
    <link rel="stylesheet" href="../plugins/font-awesome/css/font-awesome.min.css">
    <link rel="stylesheet" href="../css/style.css">
</head>

(2)最左侧的头标签content-header

对应位置为:

代码为:

    <div class="content-header">

        <h1>fuels管理系统</h1>

    </div>

(3)标签和按钮

①输入标签

在代码中的位置:

代码为:

          <el-input placeholder="id" style="width: 200px;" class="filter-item"></el-input>
                <el-input placeholder="fossialEnergyType" style="width: 200px;" class="filter-item"></el-input>
                <el-input placeholder="CAD:" style="width: 200px;" class="filter-item"></el-input>
                <el-input placeholder="CD" style="width: 200px;" class="filter-item"></el-input>
                <el-input placeholder="NaVar" style="width: 200px;" class="filter-item"></el-input>
                <el-input placeholder="FC:" style="width: 200px;" class="filter-item"></el-input>
                <el-input placeholder="FCbj" style="width: 200px;" class="filter-item"></el-input>
                <el-input placeholder="NCVbj:" style="width: 200px;" class="filter-item"></el-input>

②按钮

<el-button @click="getAll()" class="dalfBut">查询</el-button>
                <el-button type="primary" class="butT" @click="handleCreate()">新建</el-button>

(4)加载并接受数据部分

(5)分页组件

(5)导入js组件,包括vue组件和elementui组件

代码为:

<!-- 引入组件库 -->

<script src="../js/vue.js"></script>

<script src="../plugins/elementui/index.js"></script>

<script type="text/javascript" src="../js/jquery.min.js"></script>

<script src="../js/axios-0.18.0.js"></script>

<script>

(5)vue的控制结构

①展示的列表数据list格式

dataList: [],

放到网页的页面上进行展示

②控制弹层(增删改需要用的弹出界面)

默认不可见,不然我们一打开网页就是乱七八糟的表单弹窗,而是等我们在增删改需要的时候再将这个置为true

第一个用于控制新增的,第二个用于控制修改的

dialogFormVisible: false,//添加表单是否可见
dialogFormVisible4Edit:false,//编辑表单是否可见

③表单数据(新增修改用的每一条数据的详细信息)

formData: {},//表单数据

④分页控制参数

 pagination: {//分页相关模型数据
                currentPage: 1,//当前页码
                pageSize:10,//每页显示的记录数
                total:0//总记录数
            }

⑤钩子函数(vue初始化完成之后先调用它)

//钩子函数,VUE对象初始化完成后自动执行
        created() {
        },

⑥方法操作

        methods: {
            //列表
            getAll() {
            },

            //弹出添加窗口
            handleCreate() {
            },

            //重置表单
            resetForm() {
            },

            //添加
            handleAdd () {
            },

            //取消
            cancel(){
            },
            // 删除
            handleDelete(row) {
            },

            //弹出编辑窗口
            handleUpdate(row) {
            },

            //修改
            handleEdit() {
            },

            //分页查询

            //切换页码
            handleCurrentChange(currentPage) {
            },

            //条件查询
        }

第五步:功能实现

(1)展示全部数据

①配置钩子函数调用“展示全部数据”的方法

在created()里面书写this.getAll()方法:

②添加getAll方法内操作

先用postman确定访问的URL路径名(fuels)以及请求方法(get)。

③然后我们在getAll方法内使用axios结合上面的请求路径:

 getAll() {
                //使用axios发送异步请求
                //①路径为fuels
                //②方法为get
                //④使用then和res将数据提取
                //⑤提取的数据部分为R对象中的data
                //⑥使用console实现网页中控制台对数据的接受打印。
                axios.get("/fuels").then((res)=>{
                   console.log(res.data);
                });
            },

程序运行:

④将数据在页面上展示出来

根据上面的③我们知道,我们传过去的data,对应网页控制端object(内部还包含一个打他),因此,要想将获取的数据给传给list集合,我们就需要使用data.data。

因此我们就需要在前面③的里面加上:

 this.dataList=res.data.data;

效果如下:

(2)增添数据功能

①找到按钮位置

点击之后会跳转到handleCreate位置。

②新建该方法并设置弹层可视化

对应代码为:

 this.dialogFormVisible=true;

这样的话,点击之后这个增加数据的表单就会自动弹出来。

③设置对应的弹层内容

<!-- 新增标签弹层 -->
<div class="add-form">
    <el-dialog title="新增燃料信息" :visible.sync="dialogFormVisible">
        <el-form ref="dataAddForm" :model="formData" :rules="rules" label-position="right" label-width="100px">
            <el-row>
                <el-col :span="12">
                    <el-form-item label="燃料种类" prop="fossilEnergyType">
                        <el-input v-model="formData.fossilEnergyType"/>
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                    <el-form-item label="CAD值" prop="CAD">
                        <el-input v-model.number="formData.CAD"/>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="12">
                    <el-form-item label="CD值" prop="CD">
                        <el-input v-model.number="formData.CD"/>
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                    <el-form-item label="NaVar值" prop="NaVar">
                        <el-input v-model.number="formData.NaVar"/>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="12">
                    <el-form-item label="FC值" prop="FC">
                        <el-input v-model.number="formData.FC"/>
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                    <el-form-item label="FCbj值" prop="FCbj">
                        <el-input v-model.number="formData.FCbj"/>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="12">
                    <el-form-item label="NCVbj值" prop="NCVbj">
                        <el-input v-model.number="formData.NCVbj"/>
                    </el-form-item>
                </el-col>
            </el-row>
        </el-form>
        <div slot="footer" class="dialog-footer">
            <el-button @click="cancel()">取消</el-button>
            <el-button type="primary" @click="handleAdd()">确定</el-button>
        </div>
    </el-dialog>
</div>

效果:

文件获取:

 (1)数据库

通过百度网盘分享的文件:燃煤热电数据库2.2.zip
链接:https://pan.baidu.com/s/1CobrQkEb7i0bAdUOcmxIIg?pwd=vebf 
提取码:vebf 
--来自百度网盘超级会员V5的分享

(2)后端代码

(3)静态页面文件(参考使用的是黑马程序员的文件并进行修改调整)

 运行我打包的项目,为了能够正常运行(需要兼容maven以及java版本),具体的调整方法看我博客:http://t.csdnimg.cn/Uovig

好啦,希望能够帮助到大家!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1975602.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

汇昌联信拼多多运营怎么样?

汇昌联信拼多多运营怎么样?在探讨汇昌联信在拼多多平台的运营情况时&#xff0c;首先需要明确的回答是&#xff1a;汇昌联信在拼多多的运营表现是积极的&#xff0c;并取得了一定的成效。接下来&#xff0c;我们将从五个不同的角度深入分析其运营策略及效果。 一、产品多样性与…

Centos7挂载数据盘

查看当前服务器有哪些磁盘 fdisk -l 2.格式化 mke2fs -t ext4 /dev/vdc 3.挂载数据盘 mkdir /sdxinfang mount /dev/vdc /sdxinfang/ 为了避免每次开机都要重新挂载&#xff0c;直接设置系统挂载信息&#xff0c;这样开机会自动挂载 vim /etc/fstab 在文件末尾增加以下内容&…

Axure八大优质Web端系统框架模版

在当今数字化转型的浪潮中&#xff0c;Axure作为一款强大的原型设计工具&#xff0c;以其快速、直观和易用的特点&#xff0c;成为了众多设计师和产品经理的首选。本文将详细介绍六套基于Axure制作的智慧系统原型框架模版&#xff0c;包括智慧园区、智慧社区、智慧乡村、智慧驾…

4个好用的 CSS 伪类 :not()、:has()、 :is()、:where()

文章目录 &#xff08;1&#xff09;:not()&#xff08;2&#xff09;:has()&#xff08;3&#xff09;:is()&#xff08;4&#xff09;:where()&#xff08;5&#xff09;:where()与:is() 的区别 &#xff08;1&#xff09;:not() :not 伪类&#xff1a;用于选择不满足给定条…

微信小程序开发费用一览表,不同开发方式的费用对比

微信小程序作为当前移动互联网领域的重要入口之一&#xff0c;其开发费用因开发方式、功能需求、设计复杂度及开发团队的不同而有所差异。本文将详细梳理微信小程序开发的几种主要方式&#xff0c;并对比各方式的费用情况&#xff0c;以便企业和个人在选择时能够有更清晰的了解…

PHP 打印 V 和倒 V 图案的程序(Program to print V and inverted-V pattern)

倒 V 型模式&#xff1a;给定 n 的值&#xff0c;打印倒 V 型模式。示例&#xff1a; 输入&#xff1a;n 5 输出 &#xff1a; E D D C C B B A A 输入&#xff1a;n 7 输出 &#xff1a; G F F E E D D C C B B A…

pycharm中安装、使用扩展工具,以QT Designer为例

pycharm中安装、使用扩展工具&#xff0c;以QT Designer为例 第一步&#xff0c;下载QT Designer安装包。找到QT Designer.exe所在位置&#xff0c;复制路径 第二步&#xff0c;打开Pycharm&#xff0c;选择Setting&#xff0c;找到扩展工具&#xff08;External Tools&#xf…

git回退未commit、回退已commit、回退已push、合并某一次commit到另一个分支

文章目录 1、git回退未commit2、git回退已commit3、git回退已push的代码3.1 直接丢弃某一次的push3.2 撤销push后&#xff0c;不丢弃改动&#xff0c;重新修改后要再次push 4、合并某一次commit到另一个分支 整理几个工作上遇到的git问题。 1、git回退未commit git回退未comm…

【C++】STL-哈希表封装unorder_set和unordered_map

目录 1、实现哈希表的泛型 2、unordered_set和unordered_map的插入 3、迭代器 3.1 operator 3.2 const迭代器 4、find 5、unordered_map的operator[] 6、对于无法取模的类型 7、介绍unordered_set的几个函数 7.1 bucket_count 7.2 bucket_size 7.3 bucket 7.4 rese…

Gcc/G++编译C/C++文件(主要以C++语言为主,C语言就做阐述 用法一样 就是将G++换成GCC)

首先&#xff0c;我们在Linux中创建一个helloc.cc文件(C文件) vim helloc.cc 直接用g裸编译 g helloc.cc 生成的a.out就是二进制可执行文件 如果要产生 自定义可执行文件 就需要下面的编译步骤 繁琐操作 g -c helloc.cc 会生成目标文件 g -o hello helloc.o 此时hell…

仿SOUL社交友附近人婚恋约仿陌陌APP系统源码

专门为单身男女打造的恋爱交友社区&#xff0c;就是一个由千千万万单身男女组建的大家庭。他们来自全国各地&#xff0c;或许有着不同的人生经历&#xff0c;却有着共同的对恋爱交友的渴望。他们可以通过文字、语音、视频聊天的方式&#xff0c;和镜头前的彼此诉说自己工作中发…

95页PPT丨IBM-IT应用规划

一、IBM针对IT应用规划项目核心内容IBM在IT应用规划项目中的核心内容&#xff0c;旨在帮助企业实现数字化转型&#xff0c;优化IT资源配置&#xff0c;并确保IT战略与业务目标的一致性。以下是IBM IT应用规划项目的详细核心内容&#xff1a; 资料下载方式&#xff0c;请看每张…

LabVIEW与CANopen实现自动化生产线的设备控制与数据采集

在某工厂的自动化生产线上&#xff0c;多个设备通过CANopen网络进行通信和控制。这些设备包括传感器、执行器和PLC&#xff0c;它们共同负责监测和控制生产过程中的关键参数&#xff0c;如温度、压力、速度等。为了实现对整个生产线的集中监控和管理&#xff0c;工厂决定使用La…

深入理解同城代驾系统源码:技术架构与实现细节

今天&#xff0c;小编将深入讲解同城代驾系统的技术架构与实现细节。 一、同城代驾系统的基本功能模块 一个完整的同城代驾系统通常包括以下核心功能模块&#xff1a; 1.用户端应用 2.司机端应用 3.后台管理系统 4.消息推送与通知 二、技术架构设计 同城代驾系统的技术架…

程序设计基础(c语言)_补充_1

1、编程应用双层循环输出九九乘法表 #include <stdio.h> #include <stdlib.h> int main() {int i,j;for(i1;i<9;i){for(j1;j<i;j)if(ji)printf("%d*%d%d",j,i,j*i);elseprintf("%d*%d%-2d ",j,i,j*i);printf("\n");}return 0…

DNS处理模块 dnspython

DNS处理模块 dnspython 标题介绍安装dnspython 模块常用方法介绍实践&#xff1a;DNS域名轮询业务监控 标题介绍 Dnspython 是 Python 的 DNS 工具包。它可用于查询、区域传输、动态更新、名称服务器测试和许多其他事情。 dnspython 模块提供了大量的 DNS 处理方法&#xff0c…

Flink 实时数仓(五)【DWD 层搭建(三)交易域事实表】

前言 今天开始交易域事实表的创建&#xff0c;上一节流量域中的表&#xff08;其实就是一个 kafka 主题&#xff09;数据来自于日志&#xff0c;而交易域的数据来自于业务系统&#xff0c;业务表之间是有关联性的。 我们之前在离线数仓中&#xff08;声明粒度&#xff08;最细粒…

oracle数据库监控数据库中某个表是否正常生成

事情经过&#xff1a; 公司某业务系统每月25日0点会自动生成下个月的表&#xff0c;表名字是tabname_202407的格式。由于7月25日0点做系统保养的时候重启了应用系统服务&#xff0c;导致8月份的表没有生成。最终操作业务影响&#xff0c;为此决定对这个表进行监控&#xff0c;…

Depth Anything——强大的单目深度估计模型

概述 单目深度估计&#xff08;Monocular Depth Estimation, MDE&#xff09;是一项在计算机视觉领域中非常重要的技术&#xff0c;它旨在从单张图像中恢复出场景的三维结构。这项技术对于机器人导航、自动驾驶汽车、增强现实&#xff08;AR&#xff09;和虚拟现实&#xff08…

DVWA(SQL注入)medium、high

medium &#xff08;1&#xff09;判断注入是字符型还是数值型 数值型&#xff0c;获得了用户信息。 id 1 or 11 &#xff08;2&#xff09;查询字段数 为3时报错&#xff0c;代表字段数为2。 1 order by 3 &#xff08;3&#xff09;显示字段顺序 1 union select 1,2 &…