java实时百分比进度条_Java 进度条百分比简单算法,根据数据量计算

本文介绍了如何在Java中创建一个实时百分比进度条。通过计算循环中的商家数量与总商家数的比例,并转换为百分比,将进度值存储在session中。前端使用定时器每秒请求一次进度,更新layui进度条,并在达到100%或0%时停止定时器并隐藏进度条。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 先把数据计算生成百分比

public JsonResult add(@Validated(ValidateConfig.ADD.class)SecKillDevice secKillDevice, HttpServletRequest request)

{

//首先循环 获取当前选取的商家list

for (int m = 0;m <= merchantList.size()-1; m++){

//计算百分比 商家数 / ((商家总数-1)* 100%) = 进度条的百分比 减一是因为m从0开始计算

Double aDouble = m/((merchantList.size()-1) * 0.01);

int intValue=aDouble.intValue();

Integer bfb=Integer.valueOf(intValue);

//将进度值存储到session中

request.getSession().setAttribute("processValue", bfb);

}

return new JsonResult().success("success");

}

2. 从session将执行进度值取出来并返回给用户

1秒请求一次

public Object getProcess(HttpServletRequest request) {

//从session将执行进度值取出来并返回给用户

Object obj = request.getSession().getAttribute("processValue");

return obj;

}

3.前端页面,为了关闭添加页面以后继续可以保存进度条进度,所以在后面加了判断,前端为 layui框架

//定义定时器

var timer;

//轮询请求进度数据

getProcessvalue:function(){

//1秒请求一次进度条的数据

timer = setInterval(function () {

$.post('/ad/secKillDevice/getProcess.json',function(data){

$('.layui-progress').show(); //显示进度条

//更新进度条

element.progress('demo', data+'%');

// 这个是列表页面的判断逻辑,因为为了加载页面的时候,继续保存进度条的进度

// 如果进度条百分之百 或者 百分之0 不在调用后台轮询接口 关闭定时器, 隐藏进度条

if (data == 0 || data == 100){
              //清空定时器

clearInterval(timer);

$('.layui-progress').hide();

return;

}

});

}, 1000);

},

仅供参考!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值