Pessoal, boa tarde.
Estrou num impasse com um botão aqui na minha aplicação:
Quero gerar e fazer um download de um arquivo, o bean funciona perfeito, o problema está no componente do prime, se eu deixar o ajax=“false” o download do arquivo funciona perfeito, mas o oncomplete não é chamado (não sei pq) e o modal para aguardar não some e nem o de mensagem de resposta aparece.
Eu preciso do modal de resposta pois o arquivo pode vir vazio e preciso avisar o usuário.
Se eu mudar para ajax=“true”, os modais aparecem e somem corretamente, mas o browser não executa o download, alguem pode me ajudar?, segue o codigo:
Opa, obrigado pela resposta mas, não funcionou, infelizmente, troquei para h:commandButton, e continua igual, o modal aparece, a janela de download tbm, mas ao fechar a janela de download o oncomplete não é executado, não sei mais o que fazer pra resolver isso.
Solucionado paliativamente, criei 1 botão pra gerar o arquivo e mostrar modais e outro pra fazer o download, nesse de download so aparece quando o arquivo é gerado e ja some no click de download, não é o ideal mas me atende por agora, se alguem souber a solução correta me avise por favor.
Tive um problema parecido com o seu. Usando requisição ajax meu relatório não era exibido mas o modal de aguarde era exibido, fazendo com html o relatório era exibido mas o modal não.
Tive problemas com html porque o relatório coleta dados do banco de dados e faz consultas no mainframe, como a consulta era demorada (10s), se nesse tempo o usuário fizesse outra requisição eu tinha um erro de concorrência do jboss seam.
solução:
o relatório era solicitado por ajax e o conteúdo era guardado em uma variável na action, no oncomplete do botão eu verifico se o conteúdo foi gerado se sim por javascript clico num link oculto que exibe o relatório, nesse caso é gerado em poucos milisegundos já que o conteúdo já esta numa variável.