Exibir relatorio gerado pelo Jasper na tela [JSF]

Boa tarde Pessoal,

eu estou começando com Jasper e também com JSF.

Eu criei uma aplicação que consegue gerar um relatorio em pdf, e dá a opção para salvar
este pdf em anexo.

Eu gostaria de saber se é possível eu gerar o relatório em Html e exibílo em uma
página da minha apliação.

Alguém já fez isto ?

abaixo segue o código do médoto que gera em pdf, da minha aplicação.

	  public void generateReport(ActionEvent actionEvent)  
	                                     throws ClassNotFoundException, SQLException, IOException, JRException, SystemException{  
	       
		  FacesContext context = FacesContext.getCurrentInstance();

	        InputStream reportStream = context.getExternalContext()
	                .getResourceAsStream("Livros.jasper");

	        HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
	        
	        try {
	            JasperReport jasperReport = (JasperReport) JRLoader
	                    .loadObject(reportStream);

	            Map<Object, Object> parameters = new HashMap<Object, Object>(); // aqui entra seus parametros para o relatorio

	            JRBeanCollectionDataSource beanDataSource = new JRBeanCollectionDataSource(
	                    getList()); // aqui voce passa a lista de objetos a serem usados no relatorio, por exemplo lista de funcionarios

	            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, beanDataSource);

	            //JRXlsExporter exporter = new JRXlsExporter(); // para exportar para excel
	            //JRPdfExporter exporter = new JRPdfExporter(); // para exportar para pdf
	            
	            JRHtmlExporter exporter = new JRHtmlExporter();
	            
	            
	            java.io.ByteArrayOutputStream out = new java.io.ByteArrayOutputStream();
	            exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
	            exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);

	            exporter.exportReport(); // exporta o relatório
	            
	            

	            setFileResponse(out.toByteArray(), jasperPrint.getName() + ".pdf","octet-stream/pdf"); // configura a resposta para ser um arquivo xls
	        } catch (JRException e) {
	            throw new SystemException("ecomri.message.error.general.param");
	        }

	  }
	  
	  
	public void setFileResponse(byte[] file, String fileName, String contentType)
	            throws IOException {
        FacesContext ctx = FacesContext.getCurrentInstance();

        HttpServletResponse response = (HttpServletResponse) ctx.getExternalContext().getResponse();

        response.setContentLength(file.length);
        response.setContentType(contentType);
        response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
        response.getOutputStream().write(file);
        response.flushBuffer();

        ctx.responseComplete();
    }