Rich:fileUpload - Problema ao recuperar valor de atributo no evento onUploadComplete

2 respostas
daniel.info

Bom dia Pessoal!
Estou com um problema ao recuperar o valor de uma propriedade do managedBean no evento onUploadcomplete

//Managed bean
public class MeuBean{

private boolean arquivoExistente;

public void uploadNovaPlanilha(UploadEvent event) throws FileNotFoundException {  	
    		uploadItem = event.getUploadItem();
    		File file = uploadItem.getFile();
    	        FileInputStream fs = new FileInputStream(file);
    	        Empresa empresa= new Empresa()
    	        List<Empresa> lst = null;
    	      if(lst != null && lst.size() > 0){
    	            arquivoExistente = true;
    	          }else{
    	        	arquivoExistente= false;
    	            parser.parse(fs);
    	        }
    	    }
}
xhtml

<rich:fileUpload id="fileUpload"  fileUploadListener="#{meuBean.uploadNovaPlanilha}" maxFilesQuantity="1" addControlLabel="Adicionar" clearAllControlLabel="Limpar tudo"  ontyperejected="alert('Formato invalido do arquivo')"
clearControlLabel="limpar" stopEntryControlLabel="Parar" 
uploadControlLabel="Enviar"  
listHeight="50" listWidth="400" 
acceptedTypes="xls,csv" 
onuploadcomplete="if(#{meuBean.arquivoExistente})Richfaces.showModalPanel('panelUploadPlanilha');"  
doneLabel="Arquivo enviado!">

Quando eu tento validar o valor do campo em

onuploadcomplete="if(#{meuBean.arquivoExistente})Richfaces.showModalPanel('panelUploadPlanilha'); return true;"

Se o atributo teve seu valor alterado durante a regra de negócio, na validação ele matem o valor antigo, de antes de requisição.

Alguém tem uma ideia?

Obrigado.

2 Respostas

daniel.info

alguem?!

não teria como eu fazer uma nova requisição no onuploadcomplete?

daniel.info

boa tarde pessoal,
se alguem precisar da solução, aqui está.
resolvi chamando uma função java script no evento onuploadcomplete, que faz uma nova requisição e recupera o valor do atributo.

Criado 16 de junho de 2011
Ultima resposta 16 de jun. de 2011
Respostas 2
Participantes 1