Estou fazendo tentando criar um arquivo zip com os arquivos selecionados pelo usuário.
Usei o que estava sendo explicado num tutorial aqui mesmo no guj, para que eu pudesse criar um zip e fazer um download pelo browser.
Isso está funcionando tranquilo. Em cada row de uma tabela, tem um link que chama um jsp que faz esse processo para o arquivo que foi selecionado.
Agora eu adicionei um checkbox em cada registro pra ter a opção de formar um zip com vários arquivos selecionados, mas não quero fazer por jsp.
Eu estava tentando reproduzir e estava dando certo, mas deu um problema que tinha dado no jsp também.
No jsp eu consegui resolver adicionando um out.clear();
Zipper zip = new Zipper();
out.clear();
zip.criarZip(response.getOutputStream(), arquivos);
response.getOutputStream().flush();[/code]
Para essa funcionalidade de gerar um zip para todas as linhas selecionadas, estou tentando fazer o mesmo, mas sem usar jsp.
Segue o código do método que está no ManagedBean:
[code]public void geraZipSelecionadas(){
FacesContext fc = FacesContext.getCurrentInstance();
HttpServletResponse resp=(HttpServletResponse)fc.getExternalContext().getResponse();
Rapaz, deixa eu perturbar mais um pouco.
Certamente eu não vou conseguir aplicar esse código hoje, mas eu fiquei vendo aqui e fiquei em dúvida…
Estou vendo que nesse código eu pego um arquivo existente e baixo.
Mas na verdade eu quero gerar um zip com vários arquivos e depois baixar.
Entendi errado ou consigo fazer isso com o código desse link que vc passou?
Só pra constar: Eu poderia simplesmente entender e ficar futucando, o que seria o melhor, claro, mas eu estou preocupado pq estou há muito tempo tentando resolver essa situação e estou com um prazo não muito bom pra entregar esse projeto (é pro trabalho mesmo) =///
Ainda assim não estava funcionando de jeito nenhum.
Mas… post vai, post vem… vi que um cara tava tendo o mesmo problema, mas ele estava chamando o método atraves de um h:commandLink, enquanto eu estava usando um p:commandButton.
Fui trocar pro commandLink por pura curiosidade, só pra ver o que era e se ia chamar normalmente o método do managed bean.
Não só chamou como tudo deu certo! =~~
Só pontuando aqui que, além de passar a trabalhar com commandLink, eu adicionei as instruções.
Ainda assim não estava funcionando de jeito nenhum.
Mas… post vai, post vem… vi que um cara tava tendo o mesmo problema, mas ele estava chamando o método atraves de um h:commandLink, enquanto eu estava usando um p:commandButton.
Fui trocar pro commandLink por pura curiosidade, só pra ver o que era e se ia chamar normalmente o método do managed bean.
Não só chamou como tudo deu certo! =~~
Só pontuando aqui que, além de passar a trabalhar com commandLink, eu adicionei as instruções.
fc.responseComplete();
fc.renderResponse();
Hebert, valeu mesmo a força, cara.[/quote]\o/
Rapaz, eu fiz nada. C fez todo o trabalho! 8) 8) 8)
Só por curiosidade… vc sabe o porquê de ter funcionado com commandLink e não com commandButton? o.O[/quote]Como você esta usando o commandButton e o commandLink?