JSF - Mensagem de erro detalhada com o rich:fileUpload

Pessoal,

Uso um componente fileUpload da biblioteca RichFaces para fazer um upload de um arquivo xls para o servidor e verificar se não há erros nesse arquivo. Caso existam erros, eu gostaria de mostrar a linha e coluna que esse erro se encontra na planilha.

Como só tenho essa informação (linha e coluna do erro) após o processamento do método PlanilhaManagedBean.importar (que é chamado pelo fileUpload por meio de uma requisição Ajax), a inteface já foi renderizada.

O código do componente está abaixo:


 <rich:fileUpload id="upload"  
    fileUploadListener="#{PlanilhaManagedBean.importar}" 
    maxFilesQuantity="100"
    immediateUpload="true" listHeight="130" acceptedTypes="xls" 
    addControlLabel="#{bundle.geralProcurarArquivo}"
    ontyperejected="alert('#{bundle.geralExtensaoInvalida}')"   
    cancelEntryControlLabel="#{bundle.geralCancelar}"
    clearAllControlLabel="#{bundle.geralLimparTudo}"    
    clearControlLabel="#{bundle.geralLimpar}"
    doneLabel="#{bundle.geralArquivoTransferidoComSucesso}" 
    progressLabel="#{bundle.geralTransferindoArquivo}"
    stopControlLabel="#{bundle.geralParar}" 
    stopEntryControlLabel="#{bundle.geralParar}"
    transferErrorLabel="#{bundle.geralErroNaTransferenciaDoArquivo}" />

O atributo transferErrorLabel mostra somente uma única mensagem estática (por exemplo, ‘erro na transferência’) o que é pouco significativo para o usuário.

Já tentei colocar um <a4j:suport …> para renderizar o componente <h:messages> (vide código em anexo), mas não funciona.

Já tentei colocar um atributo do tipo String no PlanilhaManagedBean (que é escopo de sessão) que representasse a mensagem de erro (devidamente montada dinâmicamente) e depois tentei colocar
transferErrorLabel="#{PlanilhaManagedBean.mensagemDeErro}", mas não funcionou.

Alguém já usou mensagens de erro parametrizadas com o fileUpload? Se sim, como o fez?

Em anexo o arquivo de código da minha página.

Grande abraço.

Olá,

Vc conseguiu resolver esse problema ? Estou passando pela mesma situação, obrigado:

Jorge (jatecnologia@gmail.com)