JSF - Gerar Zip[RESOLVIDO]

Galera,

Eu tenho uma dataTable em uma view e nela, dentre outras, eu tenho uma coluna checkbox e uma coluna com um link para download.
Para fazer funcionar esse download (cada registro pode ter um download), eu chamei um jsp para utlizar os códigos do seguinte tutorial: http://www.guj.com.br/articles/181
porque eu preciso do httpservletresponse pra poder fazer o download do browser.

Mas agora ao inves de poder apenas fazer o download por registro, quero selecionar vários registros e gerar um zip.

Então, em resumo:
Tenho 10 registros na tabela da view.
Selecionei 3 (no ManagedBean é que eu monto essa nova lista com os selecionados) e agora quero gerar o zip.
Mas como posso fazer para gerar o zip e fazer o browser ativar o download?

O código que uso no jsp (que é chamado através de um link em cada registro) é o que segue:

[code]response.setContentType(“application/octet-stream”);
response.setHeader(“Content-Disposition”,
“attachment; filename=chamadas.zip”);

        Zipper zip = new Zipper();
        out.clear();
        zip.criarZip(response.getOutputStream(), arquivos);

        response.getOutputStream().flush();[/code]

Minha dúvida inicial era como utilizar o response no managed bean para não ter que usar o JSP.
Resolvi isso com o seguinte código:

FacesContext fc = FacesContext.getCurrentInstance(); HttpServletResponse response=(HttpServletResponse)fc.getExternalContext().getResponse();

Beleza cara!

Agora só falta colocar RESOLVIDO no título do tópico :wink:

Então, cara… eu não coloquei pq eu queria testar primeiro.
Consegui reproduzir no MB o que fiz no JSP, só que está dando um erro que eu resolvi no JSP acrescentando a linha

out.clear(); 

como poderá ser observado no post anterior.
Não estou sabendo fazer isso.
Estava pesquisando aqui… Tem que pegar o pagecontext?
Como faço isso? sabe me dizer?

Abraços e obrigado

Só pra constar:
O erro que dava no jsp e que resolvi com o out.clear();
é o que segue:

java.lang.IllegalStateException: getOutputStream() has already been called for this response