JSF + JavaScript

Olá galerinha!!

Eu estou começando com JSF e me pediram para fazer uns relatórios com o iReport. Até ai tudo beleza, eu consigo gerar o PDF através de um método do ManagedBean, mas estou com um problema que é:
Eu não consigo abrir ele com o response.getOutputStream().write(relatorio), já fiz o Casting do FacesContext para o HttpServletResponse e nada, no entanto eu consegui exporta-lo para um arquivo PDF que fica salvo no Servidor, porém o meu problema é como abrir este arquivo? no JSP eu uso um javascript para ele abrir num popup, mas com o JSF não estou conseguindo! um detalhe importante é que a extensão da página é xhtml, pois usamos o rich faces, por isso não posso usar scriptlets, pois preciso de um parâmetro que vem da sessão!!

Espero que vcs entendam…hehehehe!

Se alguém puder me ajudar ficarei grato!!!

Junior <><

Boa tarde cara,

Eu fiz uma pesquisa aqui na api do FacesContext e achei os métodos:

getResponseStream() 

e

getResponseWriter()

http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/javax/faces/context/FacesContext.html

Acredito que eles sejam a solução para o seu problema.

Abraços

Denis meu chapa valeu pela dica, vou dar uma olhada nesse material…
mas eu consegui resolver meu problema de outro jeito! Como falei antes eu tinha conseguido exportar meu relatorio para uma pasta do servidor e só precisava chamá-lo pois precisava de um parâmetro da sessão e como estou acostumado a programar com scriptlet pensei que não tinha como trazer a sessão para a página pois a minha página é .xhtml, mas me deram uma luz aqui e eu coloquei a minnha sessão numa variável do managed bean e dai pude pegá-lo!! outra coisa que estava errando é que eu estava chamando o action do a4j:commandLink e também o onclick nele, só que ele chamava os dois o mesmo tempo então eu resolvi desse jeito:

<a4j:commandLink action="#{meuBean.gerarRelatorio}" oncomplete="AbrirExportado(#{meuBean.sessao.parametro1}, #{meuBean.sessao.parametro2})" >
<a4j:support event="onclick" reRender="painelGeral"></a4j:support>
   <h:graphicImage value="../img/btnPDF.png" title="Gerar Relatorio" style="border:0" />
</a4j:commandLink>

o oncomplete só faz a ação depois que a página e recarregada, por isso coloquei um a4j:support no onclick e dei um reRender no meu panel, agora ele faz o action depois o onclick renderizando o panel e só ai o oncomplete para chamar meu relatorio exportado!!

o java script, para quem quiser saber foi este:

function AbrirExportado(parametro1, parametro2){
  var caminho   = '../relatorios/meurelatorio'+ parametro1 +''+ parametro2+'.pdf';
  window.open(caminho, 'Relatorio' ,'width=800,height=640,status=yes,menubar=no,resizable=yes,directories=no,location=no,scroll=yes,scrollbars=yes,toolbar=no,top=0');
}

nada de espetacular mas eh isso!!!

Valeu gente, espero ajudar alguem com isso!!