[Resolvido] JSF + iReport

Olá, já procurei vários tutoriais e posts aqui no guj, mas não estou conseguindo fazer o relatório aparecer corretamente no browser do navegador,
abaixo o código do método do meu managedBean

    public void imprimeRelatorio() {
        carregarList();  
        try {
            FacesContext context = FacesContext.getCurrentInstance();
            ServletContext servletContext = (ServletContext) context.getExternalContext().getContext();
            String caminhoRelatorio = servletContext.getRealPath("/WEB-INF/report/relatorio.jasper");
            HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
            response.setContentType("application/pdf");
            response.addHeader("Content-disposition", "attachment; filename=\"arquivo.pdf\"");
            JasperPrint impressao = JasperFillManager.fillReport(caminhoRelatorio, null, new JRBeanCollectionDataSource(listaFuncionario));
            JasperExportManager.exportReportToPdfStream(impressao, response.getOutputStream());
            context.getApplication().getStateManager().saveView(context);
            context.responseComplete();
        } catch (Exception e) {
            System.out.println("Erro: " + e.getMessage());
        }
    }

Adicionei as seguintes libs no projeto(muitas acho que nem necessárias, mas…):

commons-beanutils-1.8.2.jar
commons-collections-3.2.1.jar
commons-digester-1.7.jar
commons-javaflow-20060411.jar
commons-logging-1.1.jar
groovy-all-1.7.5.jar
iText-2.1.7.jar
jasperreports-4.0.0.jar
jasperreports-fonts-4.0.0.jar
poi-3.6-20091214.jar

e no browser a página fica assim, com um monte de caracteres estranhos:

%PDF-1.4
%����
3 0 obj
<</Length 268/Filter/FlateDecode>>stream
x����N!��<����]X�m���h�܌���C7n�R����d����Bf惏�#Mr�e�4y np��
Ǫ�Grqŀ�UGfgz��c���{�4�� E�U�+9��L!�’��������
�z�
r�L����ӳ������r
��L�Z�Jyq��HH!���|�7� l����$&#65533;e��)t1;n�=���DUH<��0�tCכ؋��0�mrf��ľ*E���QY��o�{o}Oa-���g����/�’�!�
endstream
endobj
1 0 obj
<</Group<</Type/Group/CS/DeviceRGB/S/Transparency>>/Parent 4 0 R/Contents 3 0 R/Type/Page/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]/ColorSpace<</CS/DeviceRGB>>/Font<</F1 2 0 R>>>>/MediaBox[0 0 595 842]>>
endobj
5 0 obj
[1 0 R/XYZ 0 854 0]
endobj
2 0 obj
<</BaseFont/Helvetica/Type/Font/Encoding/WinAnsiEncoding/Subtype/Type1>>
endobj
4 0 obj
<</ITXT(2.1.7)/Type/Pages/Count 1/Kids[1 0 R]>>
endobj
6 0 obj
<</Names[(JR_PAGE_ANCHOR_0_1) 5 0 R]>>
endobj
7 0 obj
<</Dests 6 0 R>>
endobj
8 0 obj
<</Names 7 0 R/Type/Catalog/ViewerPreferences<</PrintScaling/AppDefault>>/Pages 4 0 R>>
endobj
9 0 obj
<</Creator(JasperReports (relatorio))/Producer(iText 2.1.7 by 1T3XT)/ModDate(D:20110819154445-03’00’)/CreationDate(D:20110819154445-03’00’)>>
endobj
xref
0 10
0000000000 65535 f
0000000350 00000 n
0000000619 00000 n
0000000015 00000 n
0000000707 00000 n
0000000584 00000 n
0000000770 00000 n
0000000824 00000 n
0000000856 00000 n
0000000959 00000 n
trailer
<</Root 8 0 R/ID [<5e3ac11d5f9559215c277a5624483a77><4607d130bbb4481fba6cb11ea06b42d5>]/Info 9 0 R/Size 10>>
startxref
1118
%%EOF

alguém sabe qual o problema??

estou tendo exatamente o mesmo problema … conseguiu alguma solução?

Acho q vc esta enviando o PDF via AJAX??
Não pode não kkkkk

é Fernando, vc tem toda razão, pessima falha nossa.

eu estava usando uma tag a4j:commandButton

ao alterar para h:commandButton o problema foi resolvido.

obrigado

[quote=jMMury]é Fernando, vc tem toda razão, pessima falha nossa.

eu estava usando uma tag a4j:commandButton

ao alterar para h:commandButton o problema foi resolvido.

obrigado[/quote]
kkkkkkkkkkkkk
Fica tranquilo que vc não foi o primeiro e nem sera o ultimo!!
Mas nunca se esqueça que vc não pode usar requisições AJAX para gerar recursos ou mudar de pagina!

tbm tava fazendo a mesma coisa que o jMMury,
agora tah funcionando.

Tópico resolvido