Ireport com jsf

bom dia pessoal !!!

estou desenvolvendo alguns relatorios com ireport em formato pdf utilizando JSF, dei um procura no guj mas não encontrei nada…

vamos lá… acho que meu problema só esta na hora de exibir o relatorio no browser, pois eu debug o metodo que gera o relatorio e o fluxo ocorre normalmente…sem nenhuma exceção…

metodo que gera relatorio

public void GerarRelatorio()
    {
        
        FacesContext fcFacesContext = FacesContext.getCurrentInstance();
        
        ServletContext scServletContext = (ServletContext) fcFacesContext.getExternalContext().getContext();
        
        String sPath = scServletContext.getRealPath("/core/report/") ;
        String sRelJasper = sPath + "\\relatorio1.jasper";
        
        HttpServletResponse response = (HttpServletResponse) fcFacesContext.getExternalContext().getResponse();
        
        Connection conn = null;
        JasperPrint jpJasperPrint = null;
        
        try
        {
            Map mParametros = new HashMap();
            mParametros.put("P_SIGLA","ab" );
            mParametros.put("CAMPO1","AAAAAAAAAA");
            mParametros.put("CAMPO2","BBBBBBBBBB" );
            
            conn = Apoio.abreConexaoDatabase();
            
            jpJasperPrint = JasperFillManager.fillReport(sRelJasper, mParametros, conn);
            byte aDados[]  = JasperExportManager.exportReportToPdf(jpJasperPrint);
            response.setContentType("application/pdf");
            ServletOutputStream out =  response.getOutputStream();
            out.write(aDados);
            response.setHeader("Content-disposition", "attachment;filename=ab.pdf");   
            StateManager stateManager = (StateManager) fcFacesContext.getApplication().getStateManager();
            stateManager.saveSerializedView(fcFacesContext);
            conn.close();            
            fcFacesContext.responseComplete();
            out.flush();
            out.close();
                        
        }
        catch (SQLException ex)
        {
            ex.printStackTrace();
        }
        catch (JRException e)
        {          
            e.printStackTrace();
        }
        catch (IOException ex)
        {
            ex.printStackTrace();
        }
        
    }

JSP


<table align="center">                    
                                <tr>
                                    <td>
                                        <ice:commandButton id="cmdGerar"  value="Gerar Relatorio" action="#{beanRelatorioProduto.gerarRelatorio}"  styleClass="botoes" />                                                
                                    </td>
                                </tr>
                            </table>

espero que vcs me ajude !!!