我想用进度条来显示导入数据的进度。因此,当我按下按钮时,我会调用该方法来开始导入,并希望用进度条显示进度。但是由于某种原因,当方法完成并显示 100% 时会显示条形图。当我刷新页面到进度条不会消失。
这是我的 JSP:
<h:panelGrid styleClass="footBtnBar" columns="2"
cellpadding="0" cellspacing="0">
<h:panelGroup style="float:left">
<rich:progressBar mode="ajax" value="#{excelImportController.currentValue}" interval="1000" id="pb"
enabled="#{excelImportController.pgEnabled}" minValue="0" maxValue="100"
reRenderAfterComplete="progressPanel">
<h:outputText value="#{excelImportController.currentValue} %" />
</rich:progressBar>
</h:panelGroup>
<h:panelGroup style="float:right">
<a4j:commandLink action="#{excelImportController.startImport}" reRender="pb"
styleClass="buttonOra120">
<h:outputText value="#{bundleDataImport['Label.import.data']}" />
</a4j:commandLink>
</h:panelGroup>
</h:panelGrid>
在我的 Bean 中,我有一个方法,当我按下按钮时会调用该方法,并在那里设置进度条的当前值。还有当前值的 setter 和 getter:
public class ExcelImportController {
private int currentValue;
private boolean pgEnabled = false;
public String startImport() {
// in this method I set the current value
// and pgEnabled=true
}
public int getCurrentValue() {
return (currentValue * 100) / numberOfSheets;
}
public void setCurrentValue(int currentValue) {
this.currentValue = currentValue;
}