Jsf中进度条的用法
Jsf中进度条的用法
前端页面
<!-- 进度条 -->
<p:progressBar widgetVar="pbAjax" ajax="true"
value="#{ProjectPackageManageBackingBean.progress}" labelTemplate="{value}%"
styleClass="animated" global="false" id="pbAjax" >
<p:ajax event="complete" listener="#{ProjectPackageManageBackingBean.onComplete}"
update=":form:message,:form:pbAjax,:form:shade" />
</p:progressBar>
后端bean层逻辑
/** 进度条展示 **/
private Integer progress = 0; public Integer getProgress()
{
if (progress == null)
{
progress = 0;
}
try
{
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (progress == null)
{
progress = 0;
}
else
{
progress = rateCalculate(progressSum, progressDo); if (progress >= 100) progress = 100;
}
return progress;
} public void setProgress(Integer progress)
{
this.progress = progress;
}
// 进度条完成事件
public void onComplete()
{
// 进度百分比置空
progress = null;
// 总数量置空
progressSum=null;
// 选择数量置空
progressDo=null;
}
private Integer progressSum;// 总的勾选数量
private Integer progressDo;// 完成的数量 public Integer getProgressSum()
{
return progressSum;
} public void setProgressSum(Integer progressSum)
{
this.progressSum = progressSum;
} public Integer getProgressDo()
{
return progressDo;
} public void setProgressDo(Integer progressDo)
{
this.progressDo = progressDo;
}
// 计算百分比工具方法
public static Integer rateCalculate(Integer sum, Integer doSum)
{
if (sum == null)
{
return 0;
}
if (doSum == null)
{
return 0;
}
if (sum == 0 || doSum == 0)
{
return 0;
}
// 创建一个数值格式化对象
NumberFormat numberFormat = NumberFormat.getInstance();
// 设置精确到小数点后2位
numberFormat.setMaximumFractionDigits(2);
// 获取到结果
String result = numberFormat.format((float)doSum/(float)sum*100);
// 获取.出现的位置
int indexOf = result.indexOf(".");
int parseInt = 0;
// 如果没有小数则直接取值
if (indexOf==-1)
{
parseInt=Integer.parseInt(result);
}
else
{
// 截取
String substring = result.substring(0, indexOf);
// 转化
parseInt = Integer.parseInt(substring);
}
return parseInt;
}
通过计算任务的百分比,进度条会一直监听百分比,当达到百分百后,会触发进度条的完成事件,并将进度条置空,回到最初状态。
Jsf中进度条的用法的更多相关文章
- AFHTTPSessionManager下载文件 及下载中 进度条处理,进度条处理需要特别注意,要加载NSRunLoop 中
1.下载文件 和进度条处理代码 - (void)timer:(NSTimer *)timer{ // 另一个View中 进度条progress属性赋值 _downloadView.progress = ...
- QT中进度条的使用
在QT中可以用QProgressBar或着QProgressDialog来实现进度条. QProgressBar的使用 首先在designer中拖一个按钮和进度条部件,按下面初始化 //补充:下面两句 ...
- 关于C# WinForm中进度条的实现方法
http://www.cnblogs.com/Sue_/articles/2024932.html 进度条是一个软件人性化考虑之一,他给用户的感觉就是程序内部在不停的动作,执行到了什么程度,而不是整个 ...
- Vue中进度条的使用
1. 安装npm install --save nprogress 2.导入js和css import NProgress from 'nprogress'import 'nprogress/npro ...
- SeekBar: 修改SeekBar中进度条的高度
SeekBar中有两个很特别的属性需要留意下: 1.android:maxHeight和android:minHeight .前者是用来指定进度条最大高度的(此高度并非SeekBar整个控件的高度), ...
- ASP.NET中进度条的简单应用
<html xmlns="http://www.w3.org/1999/xhtml" id="mainWindow"> <head> & ...
- Android中进度条
<ProgressBar android:id="@+id/progress_bar" android:layout_width="match_parent&quo ...
- android中进度条的实现
布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:androi ...
- Python中进度条如何实现
print源码,参数end默认值为换行符,需要置成空,就会实现打印一行的效果 import time for i in range(100): time.sleep(1)#sleep一秒再输出 # 需 ...
随机推荐
- [ch05-01] 正规方程法解决多变量线性回归问题
系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力. 5.1 正规方程解法 英文名是 Normal Equat ...
- Rancher1-简单介绍-认识rancher
认识rancher 一.简介 1.什么rancher Rancher是一个开源软件平台,使组织能够在生产中运行和管理Docker和Kubernetes.使用Rancher,组织不再需要使用一套独特的开 ...
- (全国多校重现赛一)D Dying light
LsF is visiting a local amusement park with his friends, and a mirror room successfully attracts his ...
- centos与内核版本对应关系
centos是基于redhat的二次开发,redhat会封装不同版本的内核,有时候,我们需要指定内核版本的centos,下面两个网站或许对你有帮助: https://access.redhat.com ...
- pyplot概述
matplotlib.pyplot 是命令行风格的函数集,让matplotlib看起来像MATLAB.Each一样工作.pyplot函数能够对画布(figure)进行一些改变,例如:创 ...
- web性能优化指南
前端性能优化,是每个前端必备的技能,优化自己的代码,使自己的网址可以更加快速的访问打开,减少用户等待,今天就会从几个方面说起前端性能优化的方案, 看下面的一张图,经常会被面试官问,从输入URL到页面加 ...
- 【spring boot】配置信息
======================================================================== 1.feign 超时配置 2.上传文件大小控制 3.J ...
- 【ActiveMQ】使用学习
[ActiveMQ]使用学习 转载: 1.启动 activemq start 2.停止 activemq stop http://localhost:8161 admin / admin Queue ...
- Label自适应高度的用法及设置倒角
UILabel *label = [[UILabel alloc] init]; //根据内容动态计算label的高度 label.text = @"Sent when the applic ...
- 用正则表达式【regexp】进行高级搜索数据
正则表达式介绍 正则表达式是用来匹配文本的特殊字符集合,如果你想从一个文本中提取电话号码而已使用正则表达式,如果你需要查找名字中包含数字的所有文件可以使用正则,如果你你要在文本块中找到所有重复的单词, ...