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一秒再输出 # 需 ...
随机推荐
- P1387 最大正方形 |动态规划
题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入格式 输入文件第一行为两个整数n,m(1<=n,m<=100),接下来n行,每行m个数字,用空格隔 ...
- ios 10 更新 新体验
1.使用手机登录开发者网站https://developer.apple.com/download/ 2.下载描述文件 3.安装描述文件,按照提示步骤操作 4.更新ios系统 下面的方法是连接电脑直接 ...
- CSS_跳动的心
详细教程CSS3 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
- python基础入门while循环 格式化 编码初识
一.while循环 1.格式 while+空格+条件+英文冒号: 缩进+结果(循环体) #若条件为真则一直执行,条件为假则不执行 while True: print('痒') print('. ...
- Ubuntu上面安装sqlite3可视化数据库软件
.介绍:sqlite 3是linux上的小巧的数据库,一个文件就是一个数据库. 2.安装:要安装sqlite 3,可以在终端提示符后运行下列命令: sudo apt-get install sqlit ...
- 在线HTTP POST/GET模拟请求api接口http请求测试工具https://post.jsonin.com/
在线HTTP POST/GET模拟请求api接口http请求测试工具 在线POST/GET接口测试工具https://post.jsonin.com/ Json在线解析及格式化校验工具 https:/ ...
- 《Java基础知识》Java字符串详解
本文内容: String类的概述 String类的使用步骤 String类的常用方法 本文目的: 能够使用String类的构造方法创建字符串对象 能够明确String类的构造方法创建对象,和直接赋值创 ...
- Mbp,一个用于学习.net core的开发框架
Mbp(https://github.com/mbpframework/Mbp)是一个.net core 3的企业级web开发框架,是我个人用于学习.net core而发起的一个开源项目.这个借鉴了国 ...
- JavaWeb学习——页面跳转方式
JavaWeb学习——页面跳转方式 摘要:本文主要学习了请求转发和响应重定向,以及两者之间的区别. 请求转发 相关方法 使用HttpServletRequest对象的 getRequestDispat ...
- Gradle 自定义插件
使用版本 5.6.2 插件被用来封装构建逻辑和一些通用配置.将可重复使用的构建逻辑和默认约定封装到插件里,以便于其他项目使用. 你可以使用你喜欢的语言开发插件,但是最终是要编译成字节码在 JVM 运行 ...