プログレス バーを使用して、データのインポートの進行状況を表示したいと考えています。ボタンを押すと、メソッドを呼び出してインポートを開始し、プログレスバーで進行状況を表示したいと思います。しかし、何らかの理由で、メソッドが終了するとバーが表示され、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には、ボタンを押すと呼び出されるメソッドがあり、そこでプログレスバーの現在の値を設定します。また、現在の値のセッターとゲッター:
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;
}