Bom dia pessoal,
Estou desenvolvendo uma aplicação Web em JSF. Nela, durante um processo, o programa vai ler x arquivos, durante a leitura, aparece um rich:modalPanel e nesse modal, possuí um rich:progressBar, que será responsável por mostrar para o cliente, quantos % já foram processados, de acordo com os arqTotal…
É a primeira vez que faço algo do tipo e, estou tendo dificuldades para atualizar o rich:progressBar. Ele fica estático e assume o valor 0.0, que é o valor inicial…
Alguém poderia ajudar ??
Segue uma parte do código
<rich:progressBar id="progressBar" value="#{MB.mapArq.processado}"
interval="10" label="#{MB.mapArq.processado} %"
enabled="#{MB.mapArq.enable}" minValue="-1" maxValue="#{MB.mapArq.arqTotal}"
reRenderAfterComplete="progressPanel">
<f:facet name="initial">
<h:outputText value="Process doesn't started yet" />
<a4j:commandButton action="#{MB.importar}"
value="Start Process" reRender="progressPanel"
rendered="#{MB.mapArq.enable}"
style="margin: 9px 0px 5px;" />
</f:facet>
<f:facet name="complete">
<br/>
<h:outputText value="Process Done" />
<a4j:commandButton action="#{MB.importar}"
value="Restart Process" reRender="progressPanel"
rendered="#{MB.mapArq.enable}"
style="margin: 9px 0px 5px;" />
</f:facet>
</rich:progressBar>
</rich:modalPanel>
</a4j:outputPanel>
Código Bean:
public void listaArquivos() {
File[] arquivos = contarArquivos(caminho); //Verifico a quantidade de arquivos que serão lidos
arqProc = 0;
for (int i = 0; i < arquivos.length; i++) {
//faz um tratamento
arqProc++;
setArqProc(arqProc);
processado = arqProc * 100 / arqTotal; //processado é o valor do Label do <progressBar>
setEnable(true);
}
}