广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >Spring Boot+AngularJS+BootStrap如何实现进度条
  • 752
分享到

Spring Boot+AngularJS+BootStrap如何实现进度条

2024-04-02 19:04:59 752人浏览 薄情痞子
摘要

小编给大家分享一下Spring Boot+angularjs+BootStrap如何实现进度条,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!spring Boot+AngularJS+Bo

小编给大家分享一下Spring Boot+angularjs+BootStrap如何实现进度条,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

spring Boot+AngularJS+BootStrap实现进度条

原理

进度条的原理是在上传文件的时候,当程序运行到某一个部分,往Session中设置一个1到100的值。然后前台再每隔很小的一段时间去请求这个值。

在AngularJS中,$Http对象有3种状态,分别是success,progress,error,其中progress方法就会在success方法调用之前(也就是上传完成之前),不断地调用。而我们要做的就是在progress中在添加一个请求,去后台拿我们设置在session中的值。

代码,这里我用了一个插件用来上传文件,叫ng-file-upload

html

<input type="file" data-ng-model="file">

<uib-progress data-ng-show="progress">
  <uib-bar value="progress" type="{{type}}" data-ng-bind="progress + '%'"/>
</uib-progress>
<span class="err" data-ng-show="isshowMsg" data-ng-bind="Msg"></span>
<button class="btn btn-primary" type="button" data-ng-click="upload()">确认</button>

js

Upload.upload(
        {
          url: "",
          data: {
            file: file
          },
          method: 'post'
        }).then(function (res) {
          //这里是success方法
          $scope.isShowMsg = true;
          $scope.Msg = res.data.msg;
          if($scope.Msg == "导入数据不符合格式要求!")
          $scope.type = "progress-bar progress-bar-danger progress-bar-striped";//设置进度条样式
          else {
            $scope.type = "progress-bar progress-bar-success progress-bar-striped";
            $scope.progress = 100;//上传成功之后,将进度条设置为100
          }

        }, function (){
        //这里是error方法
        }, function (){
        //这里是progress方法
        $scope.type = "progress-bar progress-bar-info progress-bar-striped";

        $http({
        url:"",
        method: "get"
        }).success(function (res) {
            $scope.progress = res;//绑定进度条的值
          })
        });

上传部分代码(只需要关注设置session的地方

public Map<String, Object> batchModify(InputStream inputStream,httpsession session) {
    Map<String, Object> res = new HashMap<>();
    Workbook workbook = null;
    try {
      workbook = Util.createWorkbook(inputStream);
    } catch (InvalidFORMatException | IOException e) {
      e.printStackTrace();
    }
    session.setAttribute("progress", 5);//解析成功后我将进度设置为5
    Sheet sheet = workbook.getSheetAt(0);

    Map<String, Object> roleWithPages = new HashMap<>();
    for (int i = 1; i <= sheet.getLastRowNum(); i++) {
      Row r = sheet.getRow(i);
      if (r == null || r.getCell(0) == null || r.getCell(1) == null)
        continue;
      Set<Page> pages = null;
      if (roleWithPages.get(r.getCell(0).toString()) == null) {
        pages = new HashSet<>();
      } else {
        pages = (Set<Page>) roleWithPages.get(r.getCell(0).toString());
      }
      Page p = new Page();
      p.setId(Math.round(r.getCell(1).getNumericCellValue()));
      pages.add(p);
      roleWithPages.put(r.getCell(0).toString(), pages);
      session.setAttribute("progress", 5 + i*90/sheet.getLastRowNum());
      //我将处理文件主体进度总量设置为90(5是加上解析部分的进度)
    }

    List<Role> roles = new ArrayList<>();
    for (String rolename : roleWithPages.keySet()) {
      Role role = repo.findByName(rolename);
      role.setPages((Set<Page>) roleWithPages.get(rolename));
      roles.add(role);
    }
    repo.save(roles);
    session.setAttribute("progress", 100);//保存之后将进度设置为100
    res.put("msg", "数据导入成功!");
    return res;
  }

进度条部分代码,很简单,就是读Session中progress的值

public int getProgress(HttpServletRequest request){
    return (int) request.getSession().getAttribute("progress");
  }

看完了这篇文章,相信你对“Spring Boot+AngularJS+BootStrap如何实现进度条”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网node.js频道,感谢各位的阅读!

--结束END--

本文标题: Spring Boot+AngularJS+BootStrap如何实现进度条

本文链接: https://www.lsjlt.com/news/69363.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring Boot+AngularJS+BootStrap如何实现进度条
    小编给大家分享一下Spring Boot+AngularJS+BootStrap如何实现进度条,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Spring Boot+AngularJS+Bo...
    99+
    2022-10-19
  • Bootstrap如何实现各种进度条
    小编给大家分享一下Bootstrap如何实现各种进度条,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一:默认的进度条创建一个基本...
    99+
    2022-10-19
  • bootstrap中如何实现路径导航、分页、进度条
    这篇文章给大家分享的是有关bootstrap中如何实现路径导航、分页、进度条的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。路径导航<ol class="...
    99+
    2022-10-19
  • AngularJs+Bootstrap如何实现计算器
    这篇文章主要为大家展示了“AngularJs+Bootstrap如何实现计算器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“AngularJs+Bootstra...
    99+
    2022-10-19
  • Bootstrap与Angularjs如何实现模态框
    这篇文章主要为大家展示了“Bootstrap与Angularjs如何实现模态框”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Bootstrap与Angularj...
    99+
    2022-10-19
  • bootstrap进度条动态加载效果怎么实现
    要实现进度条的动态加载效果,可以使用Bootstrap的进度条组件,并结合JavaScript来更新进度条的值。首先,在HTML中添...
    99+
    2023-08-24
    bootstrap
  • CSS如何实现进度条和订单进度条
    小编给大家分享一下CSS如何实现进度条和订单进度条,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!简单地效果图如下:CSS实现进度条:html结构:<div&...
    99+
    2023-06-08
  • angularjs+bootstrap如何实现自定义分页
    这篇文章主要介绍angularjs+bootstrap如何实现自定义分页,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!目前在做一个java web页面,没有使用到框架的分页,所以需要...
    99+
    2022-10-19
  • bootstrap如何实现滚动条
    本篇内容介绍了“bootstrap如何实现滚动条”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • Bootstrap3如何实现进度条
    这篇文章将为大家详细讲解有关Bootstrap3如何实现进度条,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。基本样式<div class="pr...
    99+
    2022-10-19
  • html5如何实现进度条
    本篇内容主要讲解“html5如何实现进度条”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html5如何实现进度条”吧! 在html5...
    99+
    2022-10-19
  • css横向进度条和竖向进度条如何实现
    这篇文章将为大家详细讲解有关css横向进度条和竖向进度条如何实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、横向进度条<html><head><title>横向进...
    99+
    2023-06-08
  • BootStrap中如何实现导航条
    这篇文章给大家分享的是有关BootStrap中如何实现导航条的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、默认的导航条制作默认的导航条,可分以下几步:1.在ul里加上(ul ...
    99+
    2022-10-19
  • Android如何实现pk进度条
    要实现Android上的PK进度条,可以使用ProgressBar控件来实现。以下是一个简单的示例:1. 在XML布局文件中添加Pr...
    99+
    2023-08-12
    Android
  • Jupyter Notebook如何实现进度条
    这篇文章主要介绍了Jupyter Notebook如何实现进度条,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。进度条可以使用python外部...
    99+
    2022-10-19
  • Spring Boot如何实现WebSocket
    本篇内容介绍了“Spring Boot如何实现WebSocket”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是 WebSoc...
    99+
    2023-06-30
  • 如何在C#中实现进度条
    在C#中实现进度条可以使用ProgressBar控件。下面是一个简单的示例代码:```csharpusing System;usin...
    99+
    2023-09-17
    C#
  • android如何实现圆形进度条
    要实现圆形进度条,可以使用Android的自定义控件来实现。首先,在layout文件中定义一个圆形进度条的布局,例如circle_p...
    99+
    2023-08-20
    android
  • java如何实现进度条显示
    在Java中可以通过使用`JProgressBar`类来实现进度条的显示。以下是一个简单的例子,演示了如何在Java中实现进度条的显...
    99+
    2023-08-24
    java
  • php如何实现下载进度条
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php如何实现下载进度条?PHP 远程文件下载的进度条实现download.php<php // 当前文件:download.php $action = @$_G...
    99+
    2022-03-06
    php
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作